我有两个集合,我想在数据库中保持独立,但我想将两者合并到查询结果中。
首都:
{
"name" : "Austin",
"latitude" : "11111",
"longitude" : "22222"
"extra_information" : {
"best_pizza" : "xxxxx",
"mayor" : "John Smith"
}
}
{
"name" : "Albany",
"latitude" : "33333",
"longitude" : "44444"
"extra_information" : {
"best_pizza" : "xxxxx",
"mayor" : "John Doe"
}
}
non_capitals:
{
"name" : "Beaumont",
"latitude" : "55555",
"longitude" : "66666"
}
{
"name" : "Syracuse",
"latitude" : "77777",
"longitude" : "88888"
}
我希望我的查询返回:
{
"name" : "Austin",
"latitude" : "11111",
"longitude" : "22222"
"extra_information" : {
"best_pizza" : "xxxxx",
"mayor" : "John Smith"
}
}
{
"name" : "Albany",
"latitude" : "33333",
"longitude" : "44444"
"extra_information" : {
"best_pizza" : "xxxxx",
"mayor" : "John Doe"
}
}
{
"name" : "Beaumont",
"latitude" : "55555",
"longitude" : "66666"
}
{
"name" : "Syracuse",
"latitude" : "77777",
"longitude" : "88888"
}
我找到了第二个集合何时应该使用$ lookup键入第一个字段的解决方案,但是没有简单的SQL UNION样式操作。例如,我不关心非大写字母与每个国会大厦的状态。
要明确:我正在尝试创建一个查询以返回将第二个(以及第三个和第三个)集合追加到第一个的结果,而不进行任何修改。我也不想创建第三个集合,只返回结果。
MongoShell的回答与原始查询一样好。