在 mongodb 中添加额外字段的查找

Posted

技术标签:

【中文标题】在 mongodb 中添加额外字段的查找【英文标题】:lookup with add extra field in mongodb 【发布时间】:2021-09-30 07:38:05 【问题描述】:

我的 OBJ

[
_id:XXXXXXXXXX,
role:admin
,

_id:XXXXXXXXXX,
role:superUser
]

并且需要使用聚合的结果如何使用聚合来解决这个问题

[
name:'username'
role:'test'

]

【问题讨论】:

【参考方案1】:

我想你需要以下内容

let db1 = db.get().collection(`temp1`);
    let db2 = db.get().collection(`temp2`);

    await db1.aggregate([
        
            $lookup: 
                from: "temp2",
                localField: "_id",    // field in the orders collection
                foreignField: "_id",  // field in the items collection
                as: "users"
            
        ,
        
            $replaceRoot:  newRoot:  $mergeObjects: [ $arrayElemAt: ["$users", 0] , "$$ROOT"]  
        ,
         $project:  users: 0  
    ]).toArray()

【讨论】:

以上是关于在 mongodb 中添加额外字段的查找的主要内容,如果未能解决你的问题,请参考以下文章

MongoDB:通过不存在的字段查找文档?

在 MongoDB 中查找重复记录

如何使用 websockets 监听 mongodb 中的更新

如何在任意深度查找 MongoDB 字段名称

在 MongoDB 中查找丢失的集合

在 MongoDB 中查找丢失的集合