MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Kann das gleiche Feld in $sert, $unset von update(aggregate) verwendet werden?

Sie können dasselbe Feld in $set verwenden und $unset Phasen der Update-Aggregationspipeline.

Sie haben einen Syntaxfehler in Ihrer Abfrage. Zweites Argument für .update() Die Funktion sollte ein Array anstelle eines Objekts sein. Entfernen Sie die geschweiften Klammern um [] und die Abfrage funktioniert.

db.getCollection('name').update(
   {"bid": "3860"},
   [
       {
         "$set": {
            "tl": {
               $add: [
                  {
                     $multiply: ["$intField", 24*60*60*1000 ]
                  },
                  "$dateField"
               ]
             }
          }
       },
       { "$unset": 'intField' } 
  ]
);