sql >> Base de Datos >  >> NoSQL >> MongoDB

¿Cómo insertar un documento con fecha en mongo?

El controlador estándar toma los tipos java.util.date y los serializa como fechas BSON. Entonces, con un objeto de colección para "ejemplo"

Date now = new Date();

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

Si está buscando una forma de usar la hora del "servidor" en las operaciones, existe el $currentDate operador, pero esto funciona con "actualizaciones", por lo que le gustaría una operación "upsert":

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

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

Dado que en realidad se trata de una declaración de actualización, debe tener cuidado de no hacer coincidir ningún documento si pretende que esto sea solo una inserción. Por lo tanto, sería mejor asegurarse de que su "consulta" contenga información única, como un _id recién generado. o algo igualmente único.