我蒙戈表,其中所含收集「商店」和數據的形式大致如下:使用過濾器的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
不,它不工作.... :( –