MongoDb timestamp
j'ai créé et que vous voulez maintenant importer un mannequin de collection. l'un des champs de chaque élément sont "créés" et "mise à jour". ce que je peux mettre dans la source/fichier json afin que MongoDb utiliser la date et l'heure de la valeur à l'importation?
cela ne marchera pas
"created" : Date()
Avez-vous essayé
je reçois un échec de l'analyse de chaîne JSON erreur lorsque je tente de "new Date()"
ce que tu veux dire en disant
le fichier avec les objets JSON im importation
vous avez de donner un peu plus d'informations de ce qu'est exactement vous êtes en train de faire. Pouvez-vous mettre un extrait du fichier json et comment vous l'importez et peut-être que l'erreur exacte est.
new Date()
?je reçois un échec de l'analyse de chaîne JSON erreur lorsque je tente de "new Date()"
ce que tu veux dire en disant
source/json file
?le fichier avec les objets JSON im importation
vous avez de donner un peu plus d'informations de ce qu'est exactement vous êtes en train de faire. Pouvez-vous mettre un extrait du fichier json et comment vous l'importez et peut-être que l'erreur exacte est.
OriginalL'auteur Simba | 2012-10-10
Vous devez vous connecter pour publier un commentaire.
mongoimport
est prévu pour l'importation de données existant des données en CSV, TSV, ou format JSON. Si vous souhaitez insérer de nouveaux champs (comme uncreated
timestamp), vous devez définir une valeur pour eux.Par exemple, si vous souhaitez définir la
created
horodatage à l'heure actuelle, vous pourriez obtenir un timestamp unix en ligne de commande (qui sera de secondes depuis l'epoch):La JSON
<date>
de la représentation quemongoimport
attend est signé 64 bits nombre entier représentant le nombre de millisecondes depuis l'époque. Vous aurez besoin de multiplier les unixtime secondes valeur par 1000 et à inclure dans votre fichier JSON:Une approche alternative serait d'ajouter le créé les horodatages pour documents une fois qu'ils ont été insérés.
Par exemple:
Le
ISODate()
fonction est une pratique de l'aide pour créerDate()
objets. LeISODate()
constructeur attend un ISO8601 de style chaîne de date/heure, tandis queDate()
s'attend à un unixtime (secondes écoulées depuis l'époque). Si vous essayeznew Date()
etnew ISODate()
dans lemongo
shell, vous devriez voir les deux produisent la même valeur (unISODate
). Les deux formats ont la même BFILS représentation, qui est UTC datetime.OriginalL'auteur Stennie
Comme Stennie souligné à juste titre, vous ne pouvez pas faire cela avec seulement
mongoimport
oumongorestore
: ils sont juste pour la restauration de vos précédemment sous-évaluées de données. Bonne façon de le faire est de restaurer les données, puis de faire la mise à jour sur les données restaurées.Avec un nouveau mongo 2.6 vous pouvez le faire facilement en utilisant $currentDate opération, qui a été créé pour mettre à jour de temps à un timestamp actuel.
Dans votre cas, vous avez besoin de quelque chose comme
OriginalL'auteur Salvador Dali