如何在不使用$ lookup运算符的情况下在mongodb中加入两个集合

时间:2018-11-13 12:27:23

标签: mongodb mongodb-query

我有2个mongodb集合:

xData :以下示例记录:

{
"_id" : ObjectId("5bd8776864cc791fd0a09c21"),
"version" : NumberLong(6),
"instrument" : {
    "customId" : {
        "value" : "RDUNIN000018373414"
    },
    "links" : [ 
        {
            "status" : {
                    "value" :"A"
            },
            "someId" : {
                    "value" : "RDUNSE000030117347"
            },
            "innerLinks" : [ 
                {
                    "refId" : {
                            "value" : {
                                "secId" : "1",
                                "documentId" : ObjectId("5bd8774fe08db41145780f30")
                            }
                    }
                }
            ]
        }

}

yData :以下示例记录:

{
"_id" : ObjectId("5bd8774fe08db41145780f30"),
"version" : NumberLong(10),
"instrument" : {
    "type" : {
        "value":"TRAD"
    },
    "secs" : [ 
        {
            "secId" : {
                    "value" : "1"
            },
            "secRawId" : {
                    "value" : "5bd87735e08db41145780f2b"
            }
        }
        ]
    }

}

xData和yData相互关联,如下所示:

'xData.links.innerlinks.refId.value.secId'对应于'ydata.secs.secId.value' “ xData.links.innerlinks.refId.value.documentId”对应于“ yData._id”

我想基于'someId'属性在xData上进行查询,并基于输出从yData中找到相关文档。 可以使用mongodb中的$ lookUp运算符来完成。但是查找性能非常慢。 除了查找之外,还有其他选择吗?

0 个答案:

没有答案