+
95
-

mongodb如何union合并多个collection查询结果?

mongodb如何union合并多个collection查询结果?

网友回复

+
15
-

在MongoDB中,union操作并不是直接支持的,但是你可以使用聚合管道(aggregation pipeline)来实现多个集合的合并查询。使用 $unionWith 操作符可以合并多个集合的查询结果。

假设你有两个集合 collection1 和 collection2,每个集合都有一些相同或不同的字段,并且你希望合并这两个集合的查询结果。以下是一个示例,演示如何使用 $unionWith 操作符进行集合的合并查询:

示例

假设集合 collection1 和 collection2 的文档结构如下:

// collection1
{ "_id": 1, "name": "Alice", "age": 25 }
{ "_id": 2, "name": "Bob", "age": 30 }

// collection2
{ "_id": 3, "name": "Charlie", "city": "New York" }
{ "_id": 4, "name": "David", "city": "Los Angeles" }

你希望合并这两个集合的查询结果,可以使用以下的聚合管道:

db.collection1.aggregate([
    {
        $unionWith: {
            coll: "collection2",
            pipeline: []
        }
    },
    {
        $project: {
            _id: 1,
            name...

点击查看剩余70%

我知道答案,我要回答