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)鏈接添加詳細信息,而不是發表評論。 –