我正在尝试比较mongodb中的两个集合。我有Collection A
和Collection B
,我只想显示差异。怎么做?我以为可以用Aggregation Framework来完成,但是我没有得到期望的值。我只想查看Collection A
中的哪个文档与Collection B
中的哪个文档不同。
收藏:A
{
"_id" : ObjectId("x"),
"p" : [
{
"t" : 1,
"p" : 123
},
{
"t" : 2,
"p" : 123
}
]
},
{
"_id" : ObjectId("y"),
"p" : [
{
"t" : 1,
"p" : 234
},
{
"t" : 2,
"p" : 234
}
]
}
收藏:B
{
"_id" : ObjectId("x"),
"p" : [
{
"t" : 1,
"p" : 123
},
{
"t" : 2,
"p" : 538458 // OTHER VALUE HERE
}
]
},
{
"_id" : ObjectId("y"),
"p" : [
{
"t" : 1,
"p" : 234
},
{
"t" : 2,
"p" : 234
}
]
}
答案 0 :(得分:0)
您可以使用mongoexport
导出每个集合,这将创建一个包含所有文档的文件,但请确保省略_id
(文档可能相同,但具有不同的ID):
mongoexport --db db_name --collection collection_name | sed '/"_id":/s/"_id":[^,]*,//' > file_name.json
然后,您可以使用diff
比较这两个文件。