我有一份以下结构的文件(以及更多类似的文件):
{
ObjectId("54b537316483d17065eaf3e0"),
"alternativeVendors":[
{
"sku":"PA10100",
"vendor":"BUGATTI"
},
{
"sku":"P984",
"vendor":"HEPU"
}
]
}
我的目标是检索与特定正则表达式匹配的供应商列表(例如/ HE /)。
我运行以下查询:
db.products.distinct('alternativeVendors.vendor', {'alternativeVendors.vendor' : /HE/})
我希望它只能找到HEPU,而是返回BUGATTI和HEPU。
我理解它的来源:查询返回与正则表达式匹配的文档,然后从这些文档返回所有不同的供应商。但我只需要找到供应商而不是文件。
是否可以不进行单独的过滤数据传递?我正在使用Node.js,如果您考虑应用程序特定的示例。