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

Timestamp MongoDb

mongoimport è destinato all'importazione di dati esistenti dati in formato CSV, TSV o JSON. Se vuoi inserire nuovi campi (come un created timestamp) dovrai impostare un valore per loro.

Ad esempio, se vuoi impostare il created timestamp all'ora corrente, potresti ottenere un timestamp unix dalla riga di comando (che saranno secondi dall'epoca):

$ date +%s
1349960286

Il JSON <date> rappresentanza che mongoimport Expects è un intero con segno a 64 bit che rappresenta i millisecondi dall'epoca. Dovrai moltiplicare il valore dei secondi unixtime per 1000 e includere nel tuo file JSON:

{ "created": Date(1349960286000) }

Un approccio alternativo sarebbe quello di aggiungere i timestamp creati ai documenti dopo che sono stati inseriti.

Ad esempio:

db.mycoll.update(
    {created: { $exists : false }},    // Query criteria
    { $set : { created: new Date() }}, // Add 'created' timestamp
    false, // upsert
    true   // update all matching documents
)