首页 > 解决方案 > 检查日期是否在 mongodb 上的一系列日期上发生冲突

问题描述

我正在创建一个带有约会的简单日历。我有以下日期范围示例的文档。

{
"start_date" : "2020-02-06T19:58:25.430Z",
"end_date" : "2020-02-16T19:58:25.430Z"
},
{
"start_date" : "2020-02-17T19:58:25.430Z",
"end_date" : "2020-02-27T19:58:25.430Z"
},
{
"start_date" : "2020-03-21T19:58:25.430Z",
"end_date" : "2020-03-31T19:58:25.430Z"
},

如果用户输入的 start_date 和 end_date 在已创建的日期范围内有冲突,系统应阻止用户插入新文档。

我该怎么做?我可以使用 Moment JS 吗?

标签: node.jsmongodbmeteormomentjs

解决方案


您可以创建唯一的复合索引:

db.collection.createIndex({'start_date':1, 'end_date': 1}, {'unique': true})

推荐阅读