繁体   English   中英

当某些数据从另一个集合中删除但两个集合都在同一集群下时更新 MongoDB 集合中的数据

[英]Update data in a MongoDB collection when certain data's gets deleted from another collection but both collection under same cluster

当某个数据的时间戳在同一集群下的另一个集合中过期时,是否可以更新 MongoDB 中一个集合中的某个字段? 如果可以的话,能举个例子吗?

我想要完成的示例: collection1: [{ name:"ABC", Age:26, value:true }]

Collection2:[{名称:“ABC”,结果:“通过”}]

因此,如果名为 ABC 的数据在 collection2 中过期,我想在 collection1 中将 ABC 的值更改为 false。

我知道这不是你想要的,但是通过这个查询,你可以获得相同的结果,而无需更新 col1 使用聚合并加入两个集合,如果 col2 中没有任何数据用于特定名称返回值为 false 否则为 true

db.col1.aggregate([
    {$lookup:{
        from:"col2",
        localField:"name",
        foreignField :"name",
        as:"t"
    }},
    {
        $project:{
            name:1,
            Age:1,
            value:{$cond:{ if: { $eq: [ [], "$t" ] }, then: false, else: true }}
        }
    }
])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM