MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Wie füge ich ein Dokument mit Datum in Mongo ein?

Der Standardtreiber verwendet java.util.date-Typen und serialisiert als BSON-Daten. Also mit einem Sammlungsobjekt zu "Beispiel"

Date now = new Date();

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

Wenn Sie nach einer Möglichkeit suchen, die "Server"-Zeit im Betrieb zu verwenden, gibt es das $currentDate Operator, aber dies funktioniert mit "Updates", also würden Sie eine "Upsert"-Operation wünschen:

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

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

Da es sich tatsächlich um eine Update-Anweisung handelt, müssen Sie darauf achten, dass Sie keine Dokumente abgleichen, wenn Sie beabsichtigen, dass dies nur eine Einfügung ist. Stellen Sie daher am besten sicher, dass Ihre "Abfrage" eindeutige Informationen enthält, z. B. eine neu generierte _id oder etwas ähnlich Einzigartiges.