MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Lo stesso campo può essere utilizzato in $sert, $unset of update(aggregate)

Puoi usare lo stesso campo in $set e $unset fasi della pipeline di aggregazione degli aggiornamenti.

Hai un errore di sintassi nella tua query. Secondo argomento per .update() la funzione dovrebbe essere un array invece di un oggetto. Rimuovi le parentesi graffe attorno a [] e la query funzionerà.

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