[英]Mongoose : filter then update document if it exists , otherwise create it
[英]Mongoose How to update if exists, based on custom fields. Otherwise insert
我正在建立一个mongoDB数据库,其中包含来自多个不同系统的销售数据。 每个系统都通过我为数据库创建的node / mongoose / Express API集成在一起。 通常,您将检查ID以确定记录是否已存在,如果不存在则将其插入。 但是,由于这些不同来源的ID在技术上可能会重叠,因此我需要一个系统来确保来源只能更新最初来自该来源的记录。 因此,我添加了一个名为“ external_ID”的列,其中保存了来自源的记录ID,另外一个名为“集成ID”的列对发送数据的特定系统而言是唯一的。 但是,为了使该想法起作用,我只需要在这两列匹配时进行更新,否则就插入一条新记录。 MongoDB是否有可能,还是我要解决这个错误?
非常感谢。
在update()
上使用upsert
。 当没有文档符合查询条件时,它将创建一个新文档。
db.collection.update(<query>, <update>, { upsert: true })
您可以在Upsert Behavior文档中找到更多详细信息
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.