我有一个包含多个具有以下格式的文档的收藏集:
{
"id" : "65451735",
"recommendations" : [
{
"lastModifiedDate" : ISODate("2018-12-07T00:00:00.000Z"),
"products" : [
{
"productName" : "name1",
"productId" : "productid1"
},
{
"productName" : "name2",
"productId" : "productid1"
}
],
"recommendationsValueGlobal" : 0.0
}
]
}
我的过滤器带有“ id”和“ productId”。
有关productId的2个问题:
1。-它可以接受多个产品ID的逗号分隔值
2.- productId确实是深层嵌套的,我从未搜索过文档中如此深的对象。可能有多个推荐和多个产品
我需要返回所有ID匹配的文档,并且仅包括提供ID的任何产品,其他所有不应显示。
我知道如何搜索数组内的嵌套对象,但这实在太多了,特别是用逗号分隔的值。有什么建议吗?
编辑:ID也不唯一,可以在多个文档中重复