2012-07-02 150 views
0

我设法找出如何删除字段,但我有一个问题它并没有真正删除它只是将其设置为NULL。Mongodb NULL而不是删除

db.user.update({'username': 'mezo', 'person': {'$in' : ['masidnadi241479214']}}, {'$unset': {'person.$': 1}}) 

我的结构类似的东西:

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

}

+0

为什么不尝试使用$ pull命令,该命令从字段中删除所有出现的值,如果字段是数组,并且您可以乘坐令人讨厌的空值:) – golja

回答

1

呀,这种行为是可以预期的。要删除阵列null元素,运行

db.collection.update(query, {$pull: {'person': null}}) 
是$未设置操作后,