使用mongoose更新mongodb的问题

 手机用户2602881147 发布于 2022-10-25 09:48

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

2 个回答
  • 将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文档;

    2022-10-26 23:04 回答
  • http://mongoosejs.com/docs/ap...

    MyModel.update({ name: 'Tobi' }, { ferret: true }, { upsert: true }, function (err, raw) {
    if (err) return handleError(err);
    console.log('The raw response from Mongo was ', raw);
    });

    2022-10-26 23:04 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有