搜索

首页  >  问答  >  正文

使用mongoose更新mongodb的问题

知道mongodb可以通过设置update的第三个参数为true来实现没有数据时插入,有数据时更新。
那使用mongoose封装的update方法如何传入这个参数呢?
mongoose的文档中提供的是update(doc, options, callback)这三个参数

伊谢尔伦伊谢尔伦2757 天前587

全部回复(2)我来回复

  • 仅有的幸福

    仅有的幸福2017-05-02 09:26:06

    http://mongoosejs.com/docs/ap...

    MyModel.update({ name: 'Tobi' }, { ferret: true }, { upsert: true }, function (err, raw) {
    if (err) return handleError(err);
    console.log('The来自 Mongo 的原始响应是 ', raw);
    });

    回复
    0
  • 巴扎黑

    巴扎黑2017-05-02 09:26:06

    将update方法第3个参数的upsert属性设为true即可

    Book.update(
    // 查询
    {
        name: "The Kite Runner"
    },
    // 更新
    {
        auther: "Khaled Hosseini"
    },
    // 其他参数
    {
        upsert: true,
    }, function(err, doc)
    {
        if (err) console.log(err);
        console.log(doc);
    });
    • 当数据库中存在The Kite Runner时,更新文档的auther属性;

    • 当数据库中没有The Kite Runner时,插入The Kite Runner文档;

    回复
    0
  • 取消回复