sql >> Databasteknik >  >> NoSQL >> MongoDB

Hur uppdaterar man datumfält i mongo-konsolen?

Du måste skapa en ny ISODate objekt så här:

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

Detta gäller både för uppdateringar och för frågor. Observera att din frågesyntax är felaktig, det borde den vara

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

Till exempel, för att uppdatera alla objekt, överväg

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

Observera också att detta skiljer sig mycket från

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

eftersom den senare kommer att ersätta objektet, istället för att lägga till ett nytt fält i det befintliga dokumentet eller uppdatera det befintliga fältet. I det här exemplet ändrade jag den sista parametern till false , eftersom flera uppdateringar bara fungerar med $ operatörer.



  1. Det går inte att skapa namnutrymme i transaktioner med flera dokument (MongoDB 4.0, Spring Data 2.1.0, Spring Boot)

  2. Få alla fält och värden för hash-nyckeln med redis i noden

  3. Undvik att ha null-fält i resultat när du använder $dateFromString på ett fält

  4. Loop matar inte ut sant eller falskt baserat på fråga