使用python查询bson文件

时间:2013-12-05 17:00:31

标签: python mongodb bson

我有一个bson文件:xyz.bson充满了有用的数据,我想使用python查询/处理数据。是否有一个简单的示例/教程我可以开始使用?

我不明白this one

3 个答案:

答案 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"]}}))