修剪冗余数据

时间:2019-07-28 13:08:25

标签: java arrays mongodb morphia

我想删除基于日期的数据(该数据存在于数组中)。这就是我的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。

0 个答案:

没有答案
相关问题