2011-08-22 4 views
1

J'essaie d'importer des données au format JSON dans une collection MongoDB en utilisant mongoimport et les fichiers enregistrés sur le disque. Tout cela fonctionne parfaitement bien mais j'ai besoin d'incrémenter un champ spécifique ("hits" par un) chaque fois qu'il y a des doublons en utilisant éventuellement l'opérateur $ inc. Comment je fais ça? C'est possible?Est-il possible de faire un incrément avec mongoimport?

Un enregistrement de l'échantillon à partir du fichier ressemble à ceci:

{"date":"2011","loc":{"lon":"-95.3436","lat":"29.0335"},"hits":1} 

Ma déclaration d'importation est comme suit:

mongoimport --host localhost --db tst --collection year --file y.json --upsert --upsertFields date,loc 

J'ai essayé avec/out "--upsert"/« - upsertFields "ce qui n'aide pas ici.

Tout conseil est fortement apprécié!

Répondre

0

Non, cela n'est pas possible avec mongoimport, cela importera seulement les données qui sont passées. Vous pouvez écrire un script pour analyser vos fichiers JSON et faire les modifications avant l'importation; ou l'importer dans Mongo puis créer une requête pour modifier les données une fois qu'elles sont dans la base de données.

+0

Dommage! Merci pour votre réponse. – OpenHaus

Questions connexes