MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

MongoDb-Zeitstempel

mongoimport ist für den Import von vorhandenen Daten gedacht Daten im CSV-, TSV- oder JSON-Format. Wenn Sie neue Felder einfügen möchten (z. B. eine created timestamp) müssen Sie einen Wert dafür festlegen.

Zum Beispiel, wenn Sie den created setzen möchten Zeitstempel auf die aktuelle Zeit, könnten Sie einen Unix-Zeitstempel von der Befehlszeile erhalten (der Sekunden seit der Epoche sein wird):

$ date +%s
1349960286

Der JSON <date> Vertretung dieser mongoimport erwartet ist eine 64-Bit-Ganzzahl mit Vorzeichen, die Millisekunden seit der Epoche darstellt. Sie müssen den Unixtime-Sekundenwert mit 1000 multiplizieren und in Ihre JSON-Datei aufnehmen:

{ "created": Date(1349960286000) }

Ein alternativer Ansatz wäre, die erstellten Zeitstempel den Dokumenten hinzuzufügen, nachdem sie eingefügt wurden.

Zum Beispiel:

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