MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Comment mettre à jour le champ de date dans la console mongo ?

Vous devez créer un nouveau ISODate objet comme ceci :

db.test.insert({"Time" : new ISODate("2012-01-10") });

Cela est vrai à la fois pour les mises à jour et pour les requêtes. Notez que la syntaxe de votre requête est incorrecte, elle devrait l'être

db.test.update({ criteria }, { newObj }, upsert, multi);

Par exemple, pour mettre à jour tous les objets, considérez

db.test.update( {}, { $set : { "time" : new ISODate("2012-01-11T03:34:54Z") } }, true, true);

Notez également que ceci est très différent de

db.test.update( {}, { "time" : new ISODate("2012-01-11T03:34:54Z") }, true, false);

car ce dernier va remplacer l'objet, plutôt que d'ajouter un nouveau champ au document existant ou de mettre à jour le champ existant. Dans cet exemple, j'ai changé le dernier paramètre en false , car les mises à jour multiples ne fonctionnent qu'avec $ opérateurs.