当我将布尔字段放入查询中时,Pymongo查找返回空结果

时间:2018-07-17 10:30:15

标签: python mongodb pymongo

所有人!

我有如下示例的mongodb集合“产品”:

{
 "_id" : "0000",
 "product_id" : "XXX"
 "price" : 100,
 "quantity" : 10,
 "available" : true
}

以及python上的一些代码:

from pymongo import MongoClient
client = MongoClient()
mongo = client.db.products
requests = mongo.find({'quantity' : {'$gt' : 50}, 
                       'available' : 'true'}, 
                      {'product_id' : 1, '_id' : 0})
selling_profile = [obj["product_id"] for obj in requests]

此查询返回空列表,但是我知道数据库中存在数量大于50的可用产品。

当我尝试仅搜索数量条件时,结果不为空。我怀疑pymongo代码中的布尔字段存在问题。

有人可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

这样做:

from pymongo import MongoClient
client = MongoClient()
mongo = client.db.products
requests = mongo.find({'quantity' : {'$gt' : 50}, 
                       'available' : True}, 
                      {'product_id' : 1, '_id' : 0})
selling_profile = [obj["product_id"] for obj in requests]

通过使用布尔Python表示法。