for rest in restaurants.find({},{"restaurant_id" : 0,"name":1,"borough":1, "cuisine":1, "_id":0},{"borough": {$in: ["Bronx", "Queens"]}}).limit(20):
print(rest)
为什么在出现语法错误$in
?
更新的mongoDB仍然在处出现语法错误$in
。
在餐厅休息。find({“ borough”:{$ in:[“ Bronx”,“ Queens”]},{“ restaurant_id”:0,“ _id”:0}})。limit(20):print(休息)
根据文档,find
仅允许两个参数:查询和投影。
Docs说:
但是您的查询就像:
find({/*empty object*/}, {projection}, {query} )
使用空对象作为查询是为了获取所有数据,就像SELECT *
在SQL中一样。因此,您的查询是错误的,因为您首先尝试获取所有数据,然后进行投影,最后进行查询。
所以,你需要以下文档类似这样:
db.collection.find({
/* Query */
"borough": {
"$in": [
"Bronx",
"Queens"
]
}
},
{
/* Projection */
"restaurant_id": 0,
"_id": 0
})
另外,投影中的注释仅可能指示要排除的值。默认情况下,将显示collection中的所有值,因此您不必包括在内。您只需要排除不想检索的值。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句