est à Mongo n'importe quel moyen de vérifier et de définir une opération atomique? Je fais des réservations pour les hôtels et s'il y a une chambre gratuite, vous pouvez réserver, mais si deux personnes ou plus veulent se réserver dans la même heure. Y a-t-il quelque chose de similaire à la transaction à Mongo ou à quelque chose de résoudre ce problème? P>
3 Réponses :
Oui, c'est l'étui d'utilisation classique pour MongoDB's Spécialement pour PymonGo: FindAndModify code> < / a> commande. p>
recherche_and_modifie code>
. p>
Toutes les mises à jour sont des opérations atomiques sur un document. Maintenant, Find_and_Modifie les serrures qui documentent et le renvoient dans la même opération. Cela vous permet de combiner un verrouillage sur le document pendant la recherche, puis applique l'opération de mise à jour. P>
Vous pouvez en trouver plus sur les opérations atomiques: http://www.mongodb.org/display/docs/atomic+operations p>
meilleur, p>
Norberto P>
La documentation des réponses de référence FindAnify. Mais un exemple pratique étant donné que les exigences de l'OP feront justice: dans l'exemple ci-dessus, ma décision d'utiliser db.runcommand code> versets
DB.Chambres. FindAndModify Code> était stratégique. dB.RunCommand retournera un code de statut quant à savoir si le document a été mis à jour, ce qui me permettra d'effectuer des travaux supplémentaires si la valeur de retour était vraie. FindAndModifie simplifie simplement l'ancien document, à moins que le drapeau
nouveau code> est transmis à la liste des arguments par laquelle il retournera le document mis à jour. P> P>