MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Como inserir um documento com data no mongo?


O driver padrão usa os tipos java.util.date e serializa como datas BSON. Então, com um objeto de coleção para "exemplo"
Date now = new Date();

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

Se você está procurando uma maneira de usar o tempo do "servidor" nas operações, existe o $currentDate operador, mas isso funciona com "atualizações", então você deseja uma operação "upsert":
 BasicDBObject query = new BasicDBObect();
 BasicDBObject update = new BasicDBObject("$currentDate",
     new BasicDBObject("date", true)
 );

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

Como na verdade é uma instrução de atualização, você precisa ter cuidado para não corresponder a nenhum documento se pretender que seja apenas uma inserção. Portanto, seria melhor garantir que sua "consulta" contenha informações exclusivas, como um _id recém-gerado ou algo igualmente único.