MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Comment insérer un document avec date en mongo ?

Le pilote standard prend les types java.util.date et les sérialise en tant que dates BSON. Donc avec un objet de collection pour "exemple"

Date now = new Date();

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

Si vous cherchez un moyen d'utiliser le temps "serveur" dans les opérations, il y a le $currentDate opérateur, mais cela fonctionne avec les "mises à jour", donc vous voudriez une opération "upsert":

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

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

Puisqu'il s'agit en fait d'une instruction de mise à jour, vous devez faire attention à ne pas faire correspondre de documents si vous souhaitez qu'il s'agisse uniquement d'une insertion. Il serait donc préférable de vous assurer que votre "requête" contient des informations uniques, telles qu'un _id nouvellement généré ou quelque chose d'aussi unique.