繁体   English   中英

猫鼬如何根据自定义字段进行更新(如果存在)。 否则插入

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM