我有一个bson文件:xyz.bson
充满了有用的数据,我想使用python查询/处理数据。是否有一个简单的示例/教程我可以开始使用?
我不明白this one。
答案 0 :(得分:2)
您可以使用mongorestore
命令将数据导入mongoDB服务器,然后通过连接到该服务器进行查询。
答案 1 :(得分:2)
如果您希望将数据流式传输为磁盘上的平面JSON文件而不是将其加载到mongod中,则可以使用此小型python-bson-streaming库:
https://github.com/bauman/python-bson-streaming
from bsonstream import KeyValueBSONInput
from sys import argv
for file in argv[1:]:
f = open(file, 'rb')
stream = KeyValueBSONInput(fh=f, fast_string_prematch="somthing") #remove fast string match if not needed
for id, dict_data in stream:
if id:
...process dict_data...
答案 2 :(得分:0)
您可以使用sonq直接从bash查询.bson文件,也可以在Python中导入和使用该库。
一些例子:
查询.bson文件
sonq -f '{"name": "Stark"}' source.bson
将查询结果转换为换行符分隔的.json文件
sonq -f '{"name": {"$ne": "Stark"}}' -o target.json source.bson
在python中查询.bson文件
from sonq.operation import query_son
record_list = list(query_son('source.bson', filters={"name": {"$in": ["Stark"]}}))