{
"_id": "5c0a17013d8ca91bf4ee7885",
"fixed": [
{
"from": "1970-01-01",
"to": "1970-01-02",
"isCompleted": true
},
{
"from": "2017-04-18",
"to": "2017-04-23",
"isCompleted": false
},
{
"from": "2018-01-29",
"to": "2018-01-30",
"isCompleted": false
}
]
},
{
"_id": "5c0a17013d8ca91bf4ee7886",
"fixed": [
{
"from": "1970-01-01",
"to": "1970-01-02",
"isCompleted": true
},
{
"from": "2017-04-18",
"to": "2017-04-23",
"isCompleted": false
},
{
"from": "2018-01-29",
"to": "2018-01-30",
"isCompleted": false
}
]
},
{
"_id": "5c0a17013d8ca91bf4ee7887",
"fixed": [
{
"from": "2019-04-15",
"to": "2019-04-25",
"isCompleted": false
},
{
"from": "2017-04-18",
"to": "2017-04-23",
"isCompleted": false
},
{
"from": "2018-01-29",
"to": "2018-01-30",
"isCompleted": false
}
]
}
我的数据库中有这种类型的数据,我想将isCompleted更新为false。使用如下日期的过滤器:
find({
fix: {
$not: {
$elemMatch: {
from: {
$lt: "1970-01-02"
},
to: {
$gt: "1970-01-01"
},
"isCompleted": true
}
}
}
})
通过这个查询,我得到了一个对象,但是我怎样才能将isCompleted设置为false,给出的日期是1970-01-01和1970-01-02
以下是工作示例:
https://mongoplayground.net/p/WIoZZ5k0Myu