我在db.Again中存储一个开始时间和结束时间我不会再使用相同的开始和结束时间或者在开始和结束时间之间存储任何开始和结束时间。如何做到这一点?
最初的例子我正在这样保存
db.save({"start":1am,"end":2am});
再次,我不允许像这样保存
db.save({"start":1.15am "end":3pm});
或
db.save({"start":1am,"end":1.45am});
但我们可以允许像这样保存
db.save({"start":12am ,"end":1am});
或 db.save({“start”:“3am”“end”:4am});
如何处理mongodb。 提前谢谢
答案 0 :(得分:0)
在保存之前,您必须检查新对象是否符合您的业务规则。没有办法调整插入/保存语句。运行查询以检查是否有另一个文档的日期范围与新文档发生冲突,然后您可以保存新文档。但是你必须在客户端进行,而不是在DB服务器中进行。
如果您确实需要服务器来检查业务规则,则可以在服务器中存储javascript函数。这样,如果验证通过,您可以使此功能检查您的规则并插入/保存文档。但是不建议这样做,将其作为最后的手段。 Here是如何在服务器中存储javascript的。