2016-04-15 8 views
0

Ich versuche, bestehende Mongodb-Dokument mit findAndModify Abfrage in node.js aktualisieren. Ich möchte hinzufügen product_category_ids Feld & entfernen error_state Feld. Ich möchte diese beiden Updates in einer einzigen Abfrage durchführen. Wenn ich nur $set spezifiziere, funktioniert es gut, aber wenn ich sowohl $ set & $ unset angeben, setzt es product_category_ids auf Nullwert.Nicht in der Lage, ein Feld mit findAndModify Abfrage löschen

meine Frage lautet wie folgt:

conn.collection('error_import').findAndModify({_id:o_id},[['_id',1]],{ $set: {"product_category_ids":sss.category}}{ $unset: {"error_state":""}},{new:true},function(err,result) { 
     if (err) 
     console.warn(err); 
     else { 
     conn.collection('product_import').insert({"tags":result.value.tags, "category_hierarchy":result.value.category_hierarchy, "error_state":result.value.error_state}); 
     } 
}); 

Bitte helfen Sie mir mit this.thanks im Voraus.

Antwort

0

versuchen

{ $set: {"product_category_ids":sss.category}, $unset: {"error_state":""}} 

statt

{ $set: {"product_category_ids":sss.category}}{ $unset: {"error_state":""}} 
+0

Dank @shaishab verwenden. Ich habe die Lösung ausprobiert, aber das field error_state auf null gesetzt, anstatt das Feld zu entfernen. – Sagar

+0

Können Sie Ihr Modell oder Ihre Datenstruktur anzeigen? @Sagar –

+0

Beispieldokument aus meiner Sammlung: { "_id": ObjectId ("570206bb02664c1400b28702"), "error_state": [ "CATEGORY_IS_MISSING"] } – Sagar

Verwandte Themen