我蒙戈表,其中所含收集“商店”和数据的形式大致如下:使用过滤器的Mongo查询没有获取确切的结果?
{
"ShopId" : 9999,
"products" : [
{
"productId" : "1234",
"productName" : "abcd",
},
{
"productId" : "5678",
"productName" : "abc",
},
{
"productId" : "2345",
"productName" : "def",
}
],
}
将有几家商店在表中有一个产品列表。
要求:
我想获取其shopId = 9999个和产品记录匹配字符串ABC
我查询
model.Shops.aggregate([{$match:{"ShopId":9999}},{$project:{products:{$filter:{input:'$products',cond: {'productName':/abc/ }}}}}])
问题:
它将productname:def
与productname:abc
匹配的其他数据提取出来。
查询执行正常。但我还有一个疑问..如果我必须为匹配而不是'abc'放置一个公共变量。我应该在'/ /'之间放置什么。是/ searchValue /或/ + searchValue +/ –
@midhunk看到我的编辑 – felix
不,它不工作.... :( –