我正在构建一个应用程序来处理门票销售,并期望有非常高的需求。我想尝试将 MongoDB 与服务于 node.js 网站的多个并发客户端节点一起使用(并优雅地处理客户端故障)。
我读过“限制 mongodb 中集合中的文档数”(完全不相关)和“有没有办法限制某个集合中的记录数”(但它谈到了上限集合,其中新文档覆盖最旧的文档)。
是否可以将集合中的文档数量限制为某个最大大小,并且在该限制之后的文档将被拒绝。简单的示例是将门票销售添加到数据库,如果所有门票都已售罄,则失败。
我考虑过有一个NumberRemaining
文档,我可以原子地递减它直到它到达0
,但是如果一个节点在递减该数字和保存购买票之间崩溃,这会给我留下一个问题。