0
我创建了一个名为集合账户。MongoDB的UPSERT在命令的NodeJS
在第一枪,我将围绕5条记录。
{"Id":"0012800000C6Q19AAF","Name":"Aditya Kumar"}
{"Id":"0012800000C6MldAAF","Name":"GenePoint"}
{"Id":"0012800000C6MlbAAF","Name":"United Oil & Gas, UK"}
{"Id":"0012800000C6MlcAAF","Name":"United Oil & Gas, Singapore"}
{"Id":"0012800000C6MlTAAV","Name":"Edge Communications"}
{"Id":"0012800000C6MlUAAV","Name":"Burlington Textiles Corp of America"}
我从外部系统带来数据,它已经有一个ID字段与它关联。当收到请求时,用于插入额外的5个记录下次再
,我要检查,如果即将到来的记录ID字段我MongoDB中已经存在(如果是的话,做一个更新其他插件)。
而且不要被标识字段从与每个MongoDB的文档创建_id场外部系统来混淆。
这是我曾尝试:
var x= fields["data"]; obj='Account';
db.createCollection(obj);
db.collection(obj).insert(fields, function(err, doc) {
if (err) {
handleError(res, err.message, "Failed to create new contact.");
} else {
res.status(201).json(doc.ops[0]);
}
})
你试过了什么?在核心文档和这个网站上有很多upsert操作的例子。如何做到这一点,你不了解什么? –
我浏览过这个。首先,我明白如果已经存在的记录(来源),我应该有一套。然后即将到来的记录(目标)。但不知道在哪里我应该使用一个查询,我只想在我的id字段的基础上插入和更新。 collection.update(源,目标,{UPSERT:真},功能(ERR,结果,upserted){ ... }); – Ajeet
是的,作为该方法的调用签名,但不一定代表您的实际代码。你是如何在上下文中使用它的?什么是错误/问题?请使用您的问题上的[编辑](https://stackoverflow.com/posts/44321183/edit)链接添加详细信息,而不是发表评论。 –