如何解决仅当数据库中没有文档时,如何使用 mongoose 为数据库播种
我有一个播种功能,可以将数据播种到数据库中。当应用程序启动时,我也运行了播种机。现在我正在播种重复数据。如果数据库集合中没有数据,我该如何修改我的函数,以便它只为数据库播种数据?
const importData = async () => {
try {
await ExhibitModel.create(exhibits);
console.log("Data imported");
process.exit();
} catch (err) {
console.error(err);
}
};
解决方法
不要使用插入。
将 update 与 upsert=true
一起使用。 Update 将查找与您的查询匹配的文档,然后它会修改您想要的字段,然后您可以告诉它 upsert: true
是否要在没有文档与您的查询匹配的情况下插入。
db.collection.update(filter,update,{upsert:true})
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。