node.js - mongodb在save或者insert的时候,怎么仅仅存入新数据
大家讲道理
大家讲道理 2017-04-17 11:38:11
[Node.js讨论组]

mongodb在save或者insert的时候,怎么仅仅存入新数据,如果新数据与数据库的数据有重复则跳过?我在定义model的schema的时候给一个字段加了个unique:true,但是我在保存的时候,出错了。那么怎么做才能只插入新数据啊?

var ImgSchema = new Schema({
    url: {type: String, unique: true, dropDups: true },
    createdAt: { type: Date, default: Date.now },
});
var newImg = new Img({
    url: imgURL
});
newImg.save(function(err, save){
    if (++watingToBeSaved == imgs.length) {
        callback(null, {status: 'success'});
    }
    if (err) {
        callback(err, null);
    };
});
大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回复(3)
巴扎黑

你可以使用upsert来做 只要把update的第三个参数设为true就行了

怪我咯

设置 unique: true,然后在错误处理的时候忽略 err.code === 11000 的情况,这个错误码是 duplicate key 错误。

天蓬老师

更新数据的话用update方法,save它就认为你要存入新数据了吧

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号