mongodb - 使用 gte 条件 MonggoDB 查询删除数组内的对象
问题描述
您好,我是 monggodb 查询的新手,我正在尝试使用 mongo3t 查询删除数组中的对象,该查询是从 2021 年 9 月 13 日开始的日期。
我目前的数据是:出勤率
{
"_id": {
"$oid": "6070b991d6231f8c205cb093"
},
"UserId": "5",
"Ranges": [
{
"DateFrom": {
"DateTime": {
"$date": "2021-09-12T00:00:00.000Z"
},
"Ticks": {
"$numberLong": "637536960000000000"
}
}
},
{
"DateFrom": {
"DateTime": {
"$date": "2021-09-13T00:00:00.000Z"
},
"Ticks": {
"$numberLong": "637536960000000000"
}
}
},
{
"DateFrom": {
"DateTime": {
"$date": "2021-09-15T00:00:00.000Z"
},
"Ticks": {
"$numberLong": "637536960000000000"
}
}
}
]
}
这是我尝试执行的查询,
db.getCollection('attendance').update(
{ UserId: "5" },
{ $pull: { 'Ranges': { DateFrom: { DateTime: { $gte: new Date(2021, 09, 13) } } } } }
);
我的查询成功运行并显示消息“在 4 毫秒内更新了 1 条现有记录”,但在检查数据时没有任何反应。
解决方案
这似乎没问题,只删除了最后一个元素。
询问
db.collection.update({
UserId: "5"
},
{
$pull: {
Ranges: {
"DateFrom.DateTime": {
$gte: ISODate("2021-09-14T00:00:00.000Z")
}
}
}
})
推荐阅读
- c# - 无法在 Visual Studio 中添加项目引用
- javascript - webpack/babel:在包之间共享变量的最佳方式是什么?
- c - 可以在嵌入式系统固件中使用位域吗?
- regex - 将 ls 的结果通过管道传输到 Powershell 中的命令,使用正则表达式捕获
- swift - CircleImage 在选择器中选择一个选项并添加到列表后不断改变颜色
- javascript - “this”关键字未定义
- javascript - 在不覆盖元素的情况下操作数组
- java - 检查远程服务器中的路径是否为目录 JSch
- scala - 如何覆盖子类中的抽象特征类型
- html - 如何在 HTML 中设置 aria 标签元素的样式