【问题标题】:$cond in mongodb querymongodb 查询中的 $cond
【发布时间】:2017-03-29 19:12:01
【问题描述】:

假设我有类似的东西 (我知道示例查询不合逻辑,但我尽量减少这种情况)

for(var j=0; j < 3; j++){
  db.collection.update({name: "alex"}, {surname: "brown"})
}

这是我的问题。如果j=2 我想增加文档的年龄。

为此我写了;

for(var j=0; j < 3; j++){
  if(j !==2){
    db.collection.update({name: "alex"}, {surname: "brown"})
  }else{
   db.collection.update({name: "alex"}, {surname: "brown" , $inc: { age: 1}})
  }
}

如何在 mongodb 中以更实用的方式使用 $condif/else condition 来做到这一点?

【问题讨论】:

    标签: node.js mongodb mongodb-query


    【解决方案1】:

    $cond 仅用于聚合,因此它不会帮助您实现目标。

    一种更优雅的方式可能是:

    var update = {
        surname: "brown"
    }
    
    for(var j = 0; j < 3; j++) {
      if(j === 2){
        update["$inc"] = { age: 1 }
      }
    
       db.collection.update({name: "alex"}, update)
      }
    }
    

    【讨论】:

      猜你喜欢
      • 2013-01-04
      • 2019-09-19
      • 2014-07-19
      • 2019-08-07
      • 1970-01-01
      • 1970-01-01
      • 2020-08-23
      • 1970-01-01
      • 2021-10-16
      相关资源
      最近更新 更多