通过Mongoose中涉及数组索引的条件删除文档

时间:2017-04-04 11:10:27

标签: javascript node.js mongodb mongoose

我有一个名为History的mongodb Collection:

{
"_id" : ObjectId("58e374f06e1cdc455ca49bb1"),
"creationtime" : ISODate("2017-04-04T10:26:57.185Z"),
"loginName" : "someone",
"retries" : [ 
    {
        "number" : 1,
        "retryTime" : ISODate("2017-04-04T10:26:57.185Z"),
        "_id" : ObjectId("58e374f16e1cdc455ca49bb2")
    }, 
    {
        "number" : 2,
        "retryTime" : ISODate("2017-04-04T10:32:19.476Z"),
        "_id" : ObjectId("58e3763393cb982f5f335905")
    }, 
    {
        "number" : 3,
        "retryTime" : ISODate("2017-04-04T10:32:29.284Z"),
        "_id" : ObjectId("58e3763d93cb982f5f335906")
    }
],
"__v" : 2
}

我想删除集合中的所有文档,“retries”数组的最后一个索引大于某个值。

var now = new Date()
History.remove({ "retries.[retries.length -1]" : { $gte: now }},function(err,result) {

});

这显然不是怎么做的,我在徘徊怎么能实现(我只是编了重试。[retries.length -1] 部分) 我可以用任何方式查询数组中的最后一个元素吗?并根据上述查询删除文档?

0 个答案:

没有答案