如何在mongodb中查询一个深度嵌套的对象?

时间:2018-12-18 08:33:42

标签: node.js mongodb

我有一个包含多个具有以下格式的文档的收藏集:

{
    "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也不唯一,可以在多个文档中重复

0 个答案:

没有答案