简体   繁体   English

PyMongo .find(data) 返回所有带有键和值的对象

[英]PyMongo .find(data) to return all objs with key and value

I have a database with orders, I want to search for data = {"user": "Bob"} and return all documents with data .我有一个包含订单的数据库,我想搜索data = {"user": "Bob"}并返回所有包含data文档。

I tried doing我试着做

data = {"user": "Bob"}
order_list = orders.find(data)
for order in order_list:
    print(order)

but it just gives back an empty cursor, when I do list(orders.find(data)) it's empty.但它只是返回一个空光标,当我执行 list(orders.find(data)) 时它是空的。

Make sure you are connecting to right database.确保您连接到正确的数据库。 If you don't specify a database, the default database of test will be used.如果不指定数据库,将使用test的默认数据库。 I would recommed always declaring a db variable with the specific database selected as per mydatabase in this example:在本例中,我建议始终使用根据mydatabase选择的特定数据库声明 db 变量:

from pymongo import MongoClient

db = MongoClient()['mydatabase']
orders = db.orders

data = {"user": "Bob"}

orders.insert_one(data)

order_list = orders.find(data)
for order in order_list:
    print(order)

prints:印刷:

{'_id': ObjectId('5fba78111e5694dd7fddbe3d'), 'user': 'Bob'}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM