mongoimport
est destiné à importer des données existantes données au format CSV, TSV ou JSON. Si vous souhaitez insérer de nouveaux champs (comme un created
horodatage), vous devrez leur attribuer une valeur.
Par exemple, si vous souhaitez définir le created
horodatage à l'heure actuelle, vous pouvez obtenir un horodatage unix à partir de la ligne de commande (qui sera en secondes depuis l'époque) :
$ date +%s
1349960286
Le JSON <date>
représentation
que mongoimport
expects est un entier signé 64 bits représentant les millisecondes depuis l'époque. Vous devrez multiplier la valeur des secondes unixtime par 1000 et inclure dans votre fichier JSON :
{ "created": Date(1349960286000) }
Une approche alternative consisterait à ajouter les horodatages créés aux documents après leur insertion.
Par exemple :
db.mycoll.update(
{created: { $exists : false }}, // Query criteria
{ $set : { created: new Date() }}, // Add 'created' timestamp
false, // upsert
true // update all matching documents
)