sql >> Database teknologi >  >> NoSQL >> MongoDB

Hvordan indsætter man et dokument med dato i mongo?

Standarddriveren tager java.util.date-typer og serialiseres som BSON-datoer. Altså med et samlingsobjekt til "eksempel"

Date now = new Date();

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

Hvis du leder efter en måde at bruge "server"-tiden på i operationer, er der $currentDate operator, men dette virker med "opdateringer", så du vil have en "upsert"-operation:

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

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

Da det faktisk er en opdateringserklæring, skal du være forsigtig med, at du faktisk ikke matcher nogen dokumenter, hvis du har til hensigt, at dette kun skal være en indsættelse. Så det ville være bedst at sørge for, at din "forespørgsel" indeholder unikke oplysninger, såsom en nyligt genereret _id eller noget lige så unikt.



  1. Hvad er fordelen ved at bruge et ObjectId i stedet for en almindelig streng?

  2. Opret et ISO-datoobjekt i javascript

  3. MongoDB database skema design

  4. Installation af MongoDB med Homebrew