在我的nodejs应用程序中,我想找到与标签匹配的项目。
我有一个带标签的对象:
{
"name": "object1",
"labels": [
{"name": "label1"},
{"name": "label2"}
}
}
从这个系列中,我想找到与用户提供的标签相匹配的所有商品。 (/api/findLabels/label1,label2)
此时,我知道我可以使用此查询在MongoDB中找到它:
db.getCollection('items')
.find(
{'labels': {
$elemMatch:
{'name': 'label1', 'name': 'label2'}
}}
但是,我似乎遇到了在Node.js中构建查询的问题。
此时,我有:
Item.find(
{
'labels':
{
$elemMatch: labels
}
}).exec(function(err, items){
...
})
但是如何为labels参数构建正确的结构? 使用新值设置一个键不止一次只是替换值,而不是将其添加到列表中,这是有道理的。
有什么想法吗?