Mongodb为NULL,而不是delete

Mongodb为NULL,而不是delete,mongodb,Mongodb,我设法找到了如何删除字段,但我有一个问题,它并没有真正删除它,只是将它设置为NULL db.user.update({'username': 'mezo', 'person': {'$in' : ['masidnadi241479214']}}, {'$unset': {'person.$': 1}}) 我的结构是这样的: { "_id" : ObjectId("4ff14c7461d69af811000000"), "confirmed" : true, "perso

我设法找到了如何删除字段,但我有一个问题,它并没有真正删除它,只是将它设置为NULL

db.user.update({'username': 'mezo', 'person': {'$in' : ['masidnadi241479214']}}, {'$unset': {'person.$': 1}})
我的结构是这样的:

{
    "_id" : ObjectId("4ff14c7461d69af811000000"),
    "confirmed" : true,
    "person" : [
            null,
            null,
            "194724198274192",
            "3"
    ],
    "username" : "mezo"

}是的,这种行为是意料之中的。要从数组中删除空元素,请运行

 db.collection.update(query, {$pull: {'person': null}})

在$unset操作之后。

如果字段是一个数组,并且您可以使用恼人的null:,为什么不尝试使用$pull命令,该命令将删除字段中出现的所有值:)