本文主要是介绍对mongodb导出的.bson文件直接进行查询,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
如果要查询通过mongodb的mongodump导出的.bson文件(比如历史备份),是一件比较麻烦的事情。简单写了一个工具sonq,可以针对.bson文件直接进行查询。
首先可以通过pip进行安装
sudo pip install sonq
然后就可以通过sonq这个命令行工作对.bson文件进行查询了,下面举几个例子。
直接输出source.bson文件中的内容,不做过滤:
sonq source.bson
在source.bson中,查询name为'Stark'的文档:
sonq -f '{"name": "Stark"}' source.bson
在source.bson中,查询name在['Ned', 'Robb', 'Snow']中的文档:
sonq -f '{"name": {"$in": ["Ned", "Robb", "Snow"]}}' source.bson
把查询的结果输出到target.bson中,这样target.bson也可以再导入回到其他的mongodb中(比如测试使用的数据库):
sonq -f '{"name": "Stark"}' -o target.json source.bson
sonq的源码见 https://github.com/socrateslee/sonq
这篇关于对mongodb导出的.bson文件直接进行查询的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!