0

フィールドを削除する方法をなんとか見つけましたが、問題があります。実際には削除されず、NULLに設定されているだけです。

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

私の構造は次のようなものです:

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

}

4

1 に答える 1

1

ええ、この動作は想定されています。配列から null 要素を削除するには、次を実行します。

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

その $unset 操作の後。

于 2012-07-02T11:15:09.227 に答える