Arrays mongodb-映射减少两个集合,其中一个集合在一个数组中具有ID
我是mongoDB的新手,在加入两个系列时遇到了一些问题。 我已经阅读了一些关于mapReduce的帖子来执行NOSQL的加入方式,但是这里仍然有一些困难 系列1:吸引力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
{
"_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(在景点集合中)中的评论。有什么建议吗?