我想删除基于日期的数据(该数据存在于数组中)。这就是我的mongo文档的样子。
{
"_id" : ObjectId("5d3d94df83f68f8bf751f367"),
"branchName" : "krishYogaCenter",
"Places" : [
"Pune",
"Bangalore",
"Hyderabad",
"Delhi"
],
"rulesForDateRanges" : [
{
"fromDate" : ISODate("2019-01-07T18:30:00.000Z"),
"toDate" : ISODate("2019-03-06T18:30:00.000Z"),
"place" : "Delhi",
"ruleIds" : [
5,
6,
7
]
},
{
"fromDate" : ISODate("2019-03-07T18:30:00.000Z"),
"toDate" : ISODate("2019-05-06T18:30:00.000Z"),
"place" : "Hyderabad",
"ruleIds" : [
1,
2
]
}
],
"updatedAt" : ISODate("2019-07-28T12:31:35.694Z"),
"updatedBy" : "Theia"
}
在这里,如果“ toDate”小于今天,我想从数组“ rulesForDateRanges”中删除该对象。在Google上进行了搜索,但没有任何方法可以执行吗?
如果该日期不存在于数组对象的内部,那么我可以使用“删除日期小于今天的文档”。在这里,我想从不再使用的数组中删除该对象,并且如果数组“ rulesForDateRanges”在这种情况下变为空,则只想删除整个文档。
我正在使用吗啡。请建议在吗啡中执行此操作的方法或在查询中执行此操作的方法。
在google上搜索得到的结果是:我们可以使用查询从集合中一张一张地获取文档,然后对该文档执行UpdateOperation。但是在这里,我必须为每个文档执行updateOperation。