mongodb - 如何使 UID 字段相对于日期范围是唯一的,以删除 MongoDB 中的重复行
问题描述
我是 MongoDb 的新手,我想通过根据 startDate 和 endDate 范围使 UID 唯一来删除重复的行。例如,我有以下文件代表员工记录。这里员工可以存在于不同的日期范围内(例如:如果“UID”:11 插入“startDate”:“2019-02-19”和“endDate”:“2019- 05-19"。但 UID:11 的同一员工不应插入同一日期范围内,可以插入不同日期范围内(例如:UID:11 可插入 "startDate" :"2020-02-19" “endDate”:“2020-06-19”)。那么如何使用这种条件防止行重复。希望您理解我的查询。提前致谢。
{
"_id" : ObjectId("5ef416bb2791f640a477f852"),
"UID" : 11,
"EmployeeName" : "Manu",
"startDate" : ISODate("2019-02-19T00:00:00Z"),
"endDate" : ISODate("2019-05-19T00:00:00Z")
}
{
"_id" : ObjectId("5ef417422791f640a477f853"),
"UID" : 11,
"EmployeeName" : "Manu",
"startDate" : ISODate("2019-02-19T00:00:00Z"),
"endDate" : ISODate("2019-05-19T00:00:00Z")
}
{
"_id" : ObjectId("5ef4176a2791f640a477f854"),
"UID" : 11,
"EmployeeName" : "Manu",
"startDate" : ISODate("2020-02-19T00:00:00Z"),
"endDate" : ISODate("2020-06-19T00:00:00Z")
}
我已经根据我的知识尝试了以下查询,但没有奏效......
db.testing.distinct("UID","startDate":{"$gte":ISODate("2019-02-19")},"endDate":{"$lte":ISODate("2019-05-19")})
解决方案
推荐阅读
- javascript - 如何使对象在 p5.js 中以随时间减少的间隔出现
- angular - 根据行的属性为行指定颜色
- pine-script - input.options 另一个输入的参数
- google-bigquery - ODBC excel BigQuery 连接器是否支持新的 M1 mac?
- wix - WiX - 安装到用户选择安装其余安装的驱动器根目录上的文件夹
- javascript - 使用 forEach 循环 / event.Target 属性的目标输入和 nextElementSibling - JavaScript
- mysql - 在 SQL 中结合 Join 查询和 Where 条件查询
- python - 在 PyQt5 中将 QsciScintilla 的文本光标向左或向右移动
- google-maps-api-3 - 为什么我不能在不运行代码两次的情况下将数据添加到 blazor 组件中的谷歌地图?
- pine-script - 如何跟踪信号模式?