Je souhaite mettre à jour plusieurs lignes dans Ma collection, appelées "Utilisateurs". En ce moment je suis mise à jour séparément les deux rangées mais je veux faire la même chose dans une requête.Mettre à jour plusieurs lignes dans MongoDB Java Driver
Mon code actuel:
coll.update(new BasicDBObject().append("key", k1), new BasicDBObject().append("$inc", new BasicDBObject().append("balance", 10)));
coll.update(new BasicDBObject().append("key", k2), new BasicDBObject().append("$inc", new BasicDBObject().append("balance", -10)));
Comment faire ces deux mises à jour séparées dans une déclaration?
Qu'est-ce qui ne va pas dans cette réponse? Ce qu'il demande n'est pas possible. – hellectronic
(je n'ai pas downvote, mais si je devais deviner--) réduire le temps passé dans une transaction est certainement une raison pour envoyer des mises à jour dans un lot. Mais une autre raison est d'augmenter le débit. Premièrement, les lots permettent l'amortissement des frais généraux sur le nombre d'enregistrements dans le lot. Deuxièmement, si le pilote avec lequel vous travaillez n'est pas asynchrone, le traitement par lots évite le coût de la latence d'attente d'un ACK pour chaque mise à jour. –