Je construis un magasin de vente en ligne qui a une quantité fixe de vêtements à vendre évidemment avant son "sold-out" marqué. En supposant que le trafic pourrait devenir très élevé avec des vêtements et d'autres articles se vendant rapidement, je voulais utiliser MongoDB pour suivre l'inventaire. Cependant, est-ce le meilleur cas d'utilisation pour MongoDb.Inventaire de cas d'utilisation de MongoDB
Comment MongoDB gère plusieurs mises à jour d'un seul document.
Dans mon cas disons qu'il y a 10 t-shirts, et 11 personnes viennent à la page de smae pour l'acheter. Maintenant que je l'achète, je vérifie si l'inventaire est disponible, puis j'effectue une mise à jour en diminuant le nombre. MongoDB mettra-t-il en file d'attente les opérations pour que la mise à jour d'un utilisateur précédent soit faite et que le compte soit appelé?
Je viens de relire votre question et cela pourrait ne pas répondre à votre question. ma faute. – atbebtg
Je pense que 'findAndModify' fonctionnera. Vous voulez interroger l'élément d'inventaire avec quelque chose comme '{available: {$ gt: 0}}', et le modifier avec {{available: {$ inc: -1}} '. L'ensemble 'findAndModify' est atomique, donc si aucun élément d'inventaire (avec un nom correspondant, id, quelquechose) existe avec un nombre disponible supérieur à 0, il échouera (et vous pouvez informer l'utilisateur qu'il est épuisé); Sinon, il modifiera atomiquement le nombre disponible pour "extraire" l'élément à l'utilisateur. Voir aussi http://kylebanker.com/blog/2010/06/07/mongodb-inventory-transactions/ qui a beaucoup de conseils sur ce sujet. – dcrosta
@drcosta Merci pour ce lien! – atbebtg