mongodb在save或者insert的时候,怎么仅仅存入新数据

发布于 2022-09-01 06:08:20 字数 547 浏览 11 评论 0

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);
    };
});

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

洋洋洒洒 2022-09-08 06:08:20

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

淡写薰衣草的香 2022-09-08 06:08:20

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

红墙和绿瓦 2022-09-08 06:08:20

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文