Nun, sagen wir, ich habe eine Auktions-App (auf Express + Mongodb gebaut), mit der Benutzer Bestellungen platziert. Meine App vergleicht die platzierte Bestellung mit anderen und hebt die entsprechenden auf. Das Problem ist, dass ich die Route, die die Aufträge aufnimmt, für jeden Benutzer synchron machen muss, damit die Route nur eine Anfrage zu der Zeit verarbeiten kann. Denn wenn es asynchron geschieht, werde ich schließlich die Situation bekommen, in der zwei Benutzer die gleiche Bestellung kaufen. Wenn es irgendeinen Weg gibt, dies mit Express oder einem Plug-In zu tun, wäre ich sehr dankbar für die EmpfehlungSynchrone Routen in node.js (in Bezug auf express.js)
0
A
Antwort
1
Es gibt etwas namens Sperren in MongoDB, können Sie Ihre Sammlung in den Lese- oder Schreibmodus sperren, so dass andere Anfragen wartet, bis das Schloss freigegeben wird.
stellen Sie sicher, dass Sie die Sperre nach erfolgreicher Transaktion freigeben. kann es zu einem Deadlock oder sonst kommen.
https://docs.mongodb.com/manual/faq/concurrency/#which-operations-lock-the-database
Verwandte Themen
- 1. Routen in Express.js
- 2. Node.js Theorie - Node.js, Express.js, Passport.js
- 3. Trennen von Express.js-Routen in separate Dateien
- 4. Express.js Ketten Routen in beliebiger Reihenfolge
- 5. Problemdaten auf das Kind Routen in Node.js
- 6. Prüfung auf und JSON-Antwort in Node.js/Express.js
- 7. Node.js & Express.js Font-Differenzierung
- 8. Node.js + Express.js + SSL
- 9. Summernote Bild + Node.js (Express.js)
- 10. Express.js Behandle nicht-route Routen
- 11. stapeln von routen in node.js
- 12. Node.js Synchrone Abfragen mit MySQL
- 13. Integrieren JSON Antwort in Node.js/Express.js Reaktion
- 14. Hat Express.js auf Node.js einen Speicherverlust?
- 15. Express.js/node.js äquivalent zu beenden() in PHP
- 16. Node.js/Express.js Kettenzertifikat funktioniert nicht
- 17. Globale Header-Datei Node.js & Express.js
- 18. In Bezug auf die Iteration Abfrage in node.js mit mysql
- 19. Synchrone Node.js-APIs und AWS Lambda
- 20. Parameter an Routen in node.js übergeben
- 21. So konfigurieren Sie dynamische Routen mit Express.js
- 22. Wie die Mehrdeutigkeit von Routen in Express.js zu vermeiden
- 23. Node.js Routen funktioniert nicht node.js + Express-Server
- 24. Synchrone Ausführung für node.js Programm mit 'readline'
- 25. Node.js + Express.js sehr langsam Serving statische Dateien
- 26. wie synchrone HTTP-Aufrufe mit Versprechungen in node.js
- 27. wie synchrone Aufruf an Funktion in node.js zu machen?
- 28. Die beste Methode für dynamisches Routing mit Express.js (node.js)
- 29. UnhandledPromiseRejection in Express.js
- 30. Wie kann ich die Browsersprache in node.js (express.js) bekommen?
Ich denke, das sollte das Problem für eine Datenbank sein. –
Zeit für Technologiewechsel! –
MongoDBs ['findAndModify'] (https://docs.mongodb.com/manual/reference/command/findAndModify/) und [' update'] (https://docs.mongodb.com/manual/reference/method/ db.collection.update/# db.collection.update) sind atomare Operationen, verwenden Sie diese also. – robertklep