【发布时间】:2020-06-16 15:40:28
【问题描述】:
我有一个集合 Items 的对象说:
[{"Item" : "Apple",
"Company" : "American Foods",
"Items" : [{"name" : "Banana", "name" : "Orange", "name" : "Apple", "name" : "Avocado"}]},
{"Item" : "Mango",
"Company" : "American Foods",
"Items" : [{"name" : "Banana", "name" : "Orange", "name" : "Apple", "name" : "Avocado"}]},
{"Item" : "Banana",
"Company" : "Indian Foods",
"Items" : [{"name" : "Banana", "name" : "Orange", "name" : "Apple", "name" : "Avocado"}]}
]
我想编写一个 mongo 聚合查询,它接受一个输入来返回与任何 Item = Items[i].name 和 Company = input 匹配的所有文档。
假设如果我使用input = American Foods 搜索,那么查询将返回集合中的 1 个文档(因为芒果不存在于 Items 中,而 Banana 的公司是 Indian Foods):
{"Item" : "Apple",
"Company" : "American Foods",
"Items" : [{"name" : "Banana", "name" : "Orange", "name" : "Apple", "name" : "Avocado"}]}
【问题讨论】:
-
可以看
find()方法。
标签: node.js mongodb mongoose mongodb-query aggregation-framework