/ / Come inserire un documento con data in mongo? - java, eclipse, mongodb, mongodb-query

Come inserire un documento con data in mongo? - java, eclipse, mongodb, mongodb-query

Stiamo cercando di inserire un documento con la data corrente come campo. Stiamo scrivendo in java usando il plugin eclipse per mongodb. Vogliamo eseguire Date() comando di mongo per ottenere la data da mongo e non da java.

Come posso eseguire questa query di mongo?

db.example.insert({"date":new Date()})

Ho trovato questa domanda in una domanda di anteprime ma la risposta non è stata utile

collegamento

risposte:

19 per risposta № 1

Il driver standard richiede java.util.date tipi e serializza come date BSON. Quindi con un oggetto di raccolta su "esempio"

Date now = new Date();

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

Se stai cercando un modo per utilizzare il tempo "server" nelle operazioni, c'è il $currentDate operatore, ma questo funziona con "aggiornamenti", quindi si vorrebbe un'operazione "upsert":

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

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

Dal momento che in realtà è una dichiarazione di aggiornamento, tuè 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 "query" contenga informazioni uniche, come una nuova generazione _id o qualcosa di altrettanto unico.


2 per risposta № 2

Usa questo:

db.example.insert({"date":new Date(Date.now())});

1 per risposta № 3

Puoi farlo provando qualcosa come questo:

db.example.insert({"date":ISODate("2016-03-03T08:00:00.000")});