我有一个条目的集合,如下所示:
{
"userid": 1,
"contents": [
{ "tag": "whatever", "value": 100 },
{"tag": "whatever2", "value": 110 }
]
}
我希望能够查询该集合并仅返回数组的一部分:与查询匹配的部分。我正在尝试使用 $ 位置运算符来执行此操作,但到目前为止还没有奏效。
更确切地说,这是我想做的事情:
collection.find({'contents.tag':"whatever"},{'contents.$.value':1})
结果,我希望某事仅具有与匹配查询的数组中的条目相对应的值,在这种情况下为 100。
你知道出了什么问题吗?我在想也许 $ 运算符只能用于更新而不用于查询。有知情人士吗?
谢谢 !