Ich versuche, neue Felder zu einem Dokument hinzuzufügen, das ich in Cloudant basierend auf Benutzereingaben habe. Wenn ich eine Einfügung mache, überschreibe ich das Dokument und verliere vorhandene Felder , es sei denn, ich sende sie mit der insert
.So fügen Sie neue Felder zum Dokument in Cloudant hinzu, ohne bestehende zu verlieren
Zum Beispiel habe ich einen Befehl, der eine Abfrage an Cloudant führt, um ein Dokument zu erhalten, und gibt mir die _id, _rev, name and special_id
Felder zurück. Dieses Dokument wird an einen neuen Befehl übergeben, der ein Feld, z. B. favorite_food
, durch eine Einfügung anfügt (und ja, ich verwende _rev
).
Nun gibt der Benutzer einen anderen Befehl ein, wie "Schule hinzufügen". Der Prozess beginnt von vorne, ich frage Cloudant ab und die Abfrage, die ich habe, gibt mir die _id, _rev, name, and special_id
zurück. Ich füge ein school
Feld an das Dokument an, mache eine insert
, aber dann überprüfe ich das Dokument und favorite_food
ist weg.
Gibt es einen Parameter, den ich an die Cloudant insert
Funktion übergeben kann, um sie zu informieren, dass sie tatsächlich ein Update durchführt und nicht überschreibt?
FYI das läuft auf Node und mit dem node-cloudant Paket. In der Dokumentation kann ich keine weiteren Details über params finden, und ein typischer Einsatz wie folgt aussieht:
cloudantDb.insert(doc, params, function(error, response) {
if (!error) {
console.log("success", response);
resolve(response);
} else {
console.log("error", error);
reject(error);
}
});