node.js - 检查日期是否在 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 吗?
解决方案
您可以创建唯一的复合索引:
db.collection.createIndex({'start_date':1, 'end_date': 1}, {'unique': true})
推荐阅读
- javascript - 如何根据变换要求切换变换原点?
- javascript - 在最右侧显示 Bootstrap 模态
- swift3 - 如何安装 Firebase Crashlytics Swift 3.0
- json - 运算符不存在 - Postgres 和 JSON 选择查询
- javascript - 使用特殊字符和 spec-char 优先级对映射键进行排序
- python - 列表追加正在覆盖我以前的值
- vue.js - Vue 检查动作是否使用 spyOn 调用其他动作
- ruby-on-rails - 使用 React、Ruby on rails 5 和 CarrierWave 多次上传文件
- excel - 宏中的复选框弹出窗口
- environment-variables - openshift中的环境变量