猫鼬:文件没有更新

时间:2015-10-21 05:57:45

标签: node.js mongodb mongoose

我在循环中通过_id查找文档并更新每个文档中的布尔值:

db.items.findById(key, function(error, item) {

  item.flags.cake = false;

  item.update(function(error, zzz) {
    if(error) return next(error);
    console.log('output ',zzz);
  });    
});

但文件不会更新。 item的猫鼬模式:

flags: {
    cake:Boolean
}

1 个答案:

答案 0 :(得分:1)

使用 save() 方法,它会使用一个回调来接收您可以使用的三个参数: 1)err如果发生错误 2)item这是保存的项目 3)当文档成功保存到MongoDB时,numAffected将为1,否则为0。

Items.findById(key, function(error, item) {    
    item.flags.cake = false;

    item.save(function (err, item, numAffected) {
        if (err) console.log(err)
        console.log('output ', item);
    });    
});

作为流量控制的额外衡量标准,save将返回Promise。

item.save().then(function(item) {
    console.log('output ', item);
});
相关问题