Arrays mongodb-映射减少两个集合,其中一个集合在一个数组中具有ID

Arrays mongodb-映射减少两个集合,其中一个集合在一个数组中具有ID,arrays,mongodb,double,Arrays,Mongodb,Double,我是mongoDB的新手,在加入两个系列时遇到了一些问题。 我已经阅读了一些关于mapReduce的帖子来执行NOSQL的加入方式,但是这里仍然有一些困难 系列1:吸引力 { "_id" : "0001333b-e485-4fee-a0e2-9b7dc338d5a2", "types" : "Shops", "name" : "name", "geo_location" : { "lat" : 36.0567700000000002, "lon" : -112.135452000

我是mongoDB的新手,在加入两个系列时遇到了一些问题。 我已经阅读了一些关于mapReduce的帖子来执行NOSQL的加入方式,但是这里仍然有一些困难

系列1:吸引力

{
"_id" : "0001333b-e485-4fee-a0e2-9b7dc338d5a2",
"types" : "Shops",
"name" : "name",
"geo_location" : {
    "lat" : 36.0567700000000002,
    "lon" : -112.1354520000000008
},
"overall_rating" : 10.0000000000000000,
"num_of_review" : 6,
"review" : [
    {
        "review_ids" : [
            "66ea1cd8-da34-40dc-8ad6-f30df5de9c2c",
            "76f51c8d-d2a8-4609-8b7c-c2b0c386e35c",
            "185c962a-fcfe-4d03-a3ac-86398be6312a",
            "2212535b-28c6-423e-91f7-cc1dfb407d79",
            "7e0f1d85-e79e-4bec-9e9c-7dfb03223816",
            "f19a83a6-c6ef-4cbe-b90d-f6187bd50baa"
        ]
    }
]
}

第二辑:旅游景点回顾

{
"_id" : "7e0f1d85-e79e-4bec-9e9c-7dfb03223816",
"user_id" : "somename",
"review_id" : "r122796525",
"unified_id" : "0001333b-e485-4fee-a0e2-9b7dc338d5a2",
"source_id" : "d1057961",
"review_url" : "someURL",
"title" : "some title",
"overall_rating" : 10,
"review_date" : "dates",
"content" : "some contents here",
"source" : "source",
"traval_date" : "dates",
"sort" : ""
}

基本上,我需要保留(或复制)景点评论中的评论,其id已出现在景点集合的评论id数组中。 上面的示例以红色显示匹配的审阅。 保证景点审查集合包含景点集合中所有记录的审查ID中的每个ID。 这里的困难在于review_ids数组位于review数组中,我不确定如何映射ids的许多实例。 如能提出一些建议,我将不胜感激


非常感谢

我不理解您的结构-为什么
review
是一个包含多个具有数组
review\u id的对象的数组?你不能有一个
\u id
s的
attraction\u review
文档数组吗?当你说你需要保留/复制
attraction\u review
文档时,你的意思是这个集合有额外的审查,你想把
attraction\u review
集合减少到那些
\u id
出现在
attraction
文档中的文档?@wdberkeley 1)是的,如果review\u id数组像你说的那样只是一个数组,那么它的结构会更好。但是我得到的数据就像上面所说的——一个数组中的一个数组。2) 是的,景点评论集包含我不需要的额外评论。我只需要其_id出现在review_id(在景点集合中)中的评论。有什么建议吗?