我有一个喜欢的系列。
{
"id" : 101,
"name" : "ragav",
"address" : "143 karnadaka",
"products" : [
{
"id" : 2,
"name" : "AA",
"amount" : "150"
},
{
"id" : 4,
"name" : "BB",
"amount" : "15"
},
{
"id" : 6,
"name" : "CC",
"amount" : "210"
},
]
}
我需要根据产品在此系列中找到记录。我运行以下查询。
查询
db.Response.find(
{"products.id":2},
{"products.id.$":1,"id":1,"name":1,"address":1}
)
在我的mongo终端,我得到了输出。但我在使用pymongo2.8时通过python访问,当我试图迭代pymongo对象时会出现这样的错误。
数据库错误:执行程序错误:InternalError:位置不明确 投影
出现此错误的原因是什么?怎么解决?
答案 0 :(得分:0)
如果位置运算符出现在投影或更新中,并且对文档有多个数组匹配,MongoDB将发出错误。
所以基本上问题在于product.id。$
中的$这是预期的行为。有关详细信息和示例,请参阅https://jira.mongodb.org/browse/SERVER-14662。