我正在开发一个应用程序来处理售票,预计会有非常高的需求。我想尝试使用MongoDB并同时使用多个并发客户端节点为node.js网站提供服务(并优雅地处理客户端故障)。
我已经阅读了 "Limit the number of documents in a collection in mongodb"(这与本次讨论没有关系),以及 "Is there a way to limit the number of records in certain collection"(但它只涉及覆盖最旧文档的固定集合)。
是否可能将集合中的文档数量限制为某个最大值,并拒绝超出该限制的文档?一个简单的例子是将售票添加到数据库,如果所有门票已经售罄,则失败。
我考虑过使用
我已经阅读了 "Limit the number of documents in a collection in mongodb"(这与本次讨论没有关系),以及 "Is there a way to limit the number of records in certain collection"(但它只涉及覆盖最旧文档的固定集合)。
是否可能将集合中的文档数量限制为某个最大值,并拒绝超出该限制的文档?一个简单的例子是将售票添加到数据库,如果所有门票已经售罄,则失败。
我考虑过使用
NumberRemaining
文档,我可以原子性地递减它直到达到0
,但如果在递减该数字并保存购票信息之间发生节点崩溃,我就会遇到问题。