Est-il possible de faire une mise à jour en vrac/upsert (ne pas insérer) dans MongoDB?Mise à jour en vrac/upsert dans MongoDB?
Si oui, veuillez me diriger vers des documents liés à cela?
Merci
Est-il possible de faire une mise à jour en vrac/upsert (ne pas insérer) dans MongoDB?Mise à jour en vrac/upsert dans MongoDB?
Si oui, veuillez me diriger vers des documents liés à cela?
Merci
Vous pouvez utiliser le programme de ligne de commande mongoimport il devrait être dans votre bac MongoDB dir ...
Il y a deux options que vous aurez envie de regarder dans d'utiliser upsert ...
insert --upsert ou objets de mise à jour qui existent déjà
--upsertFields arg comm champs séparés par des champs pour la requête partie du upsert. Vous devez vous assurer que cela est indexé
Plus d'infos ici: http://www.mongodb.org/display/DOCS/Import+Export+Tools
Ou tout simplement faire ...
$ mongoimport --help
Note: actuellement --upsert n'est pas documenté dans les docs en ligne (ils doivent être mis à jour) ... mais vous le verrez à partir de la ligne de commande --help. –
mises à jour en vrac peuvent également être effectués par lots que l'on trouve dans la documentation:
Je les utilise pour importer des fichiers CSV que je besoin de masser un peu avant d'importer les données. C'est un peu lent lorsqu'il s'agit de mises à jour, mais il a fait mes mises à jour de documents 50K en environ 83 secondes, ce qui est beaucoup plus lent que la commande mongoimport.
mongo peut exécuter le fichier .js
. vous pouvez appuyer sur toutes les commandes de mise à jour dans un fichier js.
t.js
db.record.update({md5:"a35f10a8339ab678612d1f86be08b81a"},{$set:{algres:[]}},false,true);
db.record.update({md5:"a35f10a8339ab678612d1f86be08b81b"},{$set:{algres:[]}},false,true);
puis, mongo 127.0.0.1/test t.js
Ce n'est pas encore possible: voir https://jira.mongodb.org/browse/SERVER-4004 –