mongoimport
är avsedd för att importera data befintlig data i CSV-, TSV- eller JSON-format. Om du vill infoga nya fält (som en created
tidsstämpel) måste du ställa in ett värde för dem.
Till exempel, om du vill ställa in created
tidsstämpel till den aktuella tiden, kan du få en unix-tidsstämpel från kommandoraden (som kommer att vara sekunder sedan epok):
$ date +%s
1349960286
JSON <date>
representation
den mongoimport
förväntar är ett 64-bitars signerat heltal som representerar millisekunder sedan epoken. Du måste multiplicera unixtime-sekundersvärdet med 1000 och inkludera i din JSON-fil:
{ "created": Date(1349960286000) }
Ett alternativt tillvägagångssätt skulle vara att lägga till de skapade tidsstämplarna i dokument efter att de har infogats.
Till exempel:
db.mycoll.update(
{created: { $exists : false }}, // Query criteria
{ $set : { created: new Date() }}, // Add 'created' timestamp
false, // upsert
true // update all matching documents
)