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

Come inserire un documento con data in mongo?

Il driver standard accetta i tipi java.util.date e serializza come date BSON. Quindi con un oggetto raccolta da "esempio"

Date now = new Date();

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

Se stai cercando un modo per utilizzare l'ora del "server" nelle operazioni, c'è il $currentDate operatore, ma funziona con "aggiornamenti", quindi vorresti un'operazione di "aggiornamento":

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

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

Poiché si tratta in realtà di una dichiarazione di aggiornamento, è necessario fare attenzione a non corrispondere effettivamente a nessun documento se si intende che questo sia solo un inserto. Quindi sarebbe meglio assicurarsi che la tua "query" contenga informazioni univoche, come un _id appena generato o qualcosa di altrettanto unico.