sql >> Databasteknik >  >> NoSQL >> MongoDB

Hur infogar man ett dokument med datum i mongo?

Standarddrivrutinen tar java.util.date-typer och serialiseras som BSON-datum. Så med ett samlingsobjekt till "exempel"

Date now = new Date();

BasicDBObject timeNow = new BasicDBObject("date", now);
example.insert(timeNow);

Om du letar efter ett sätt att använda "server"-tiden i operationer, finns $currentDate operator, men det här fungerar med "uppdateringar", så du vill ha en "upsert"-operation:

 BasicDBObject query = new BasicDBObect();
 BasicDBObject update = new BasicDBObject("$currentDate",
     new BasicDBObject("date", true)
 );

 example.update(query,update,true,false);

Eftersom det faktiskt är ett uppdateringsuttalande måste du vara försiktig så att du inte matchar några dokument om du avser att detta endast ska vara en inlaga. Så det skulle vara bäst att se till att din "fråga" innehåller unik information, till exempel ett nygenererat _id eller något lika unikt.



  1. Flera gruppoperationer med Mongo-aggregationsramverk

  2. Varför har Mongoose både scheman och modeller?

  3. Välj poster som matchar konkatvärde för två fält i mongodb

  4. Redis som unik atomic id-generator - Trådsäkert sätt för webbapp för att undvika rastillstånd