Mongoose:当你从一个子数组中拉出一个元素时,如果它现在为空,你可以删除该子数组项吗?

时间:2017-01-29 20:35:59

标签: node.js mongodb mongoose

如果我$pull members阵列中的最后一个成员,我可以删除那个房间吗?鉴于下面的文档,我希望rooms最终成为一个空数组。

var query = {game:'/donut_fun', 'rooms.roomname': 'Joey\'s Room'};
var update = {$pull: {'rooms.$.members': player}};
GamesModel.findOneAndUpdate(query, update, function(err, doc){...

这是更新后的结果文档。请注意,房间不再有任何成员,所以我希望rooms现在只是一个空数组。我不再关心Joey's Room了。

{
    "_id" : ObjectId("588e4d64c23324935a061123"),
    "game" : "/donut_fun",
    "__v" : 0,
    "rooms" : [
        {
            "members" : [ ],
            "timestamp" : 1485720932863,
            "roomname" : "Joey's Room"
        }
    ]
}

0 个答案:

没有答案