54

MongoDB(2.4.5)に以下のドキュメントがあります

{
    "_id" : 235399,
    "casts" : {
        "crew" : [ 
            {
                "_id" : 1186343,
                "withBase" : true,
                "department" : "Directing",
                "job" : "Director",
                "name" : "Connie Rasinski"
            },
            {
                "_id" : 86342,
                "withBase" : true
            }
        ]
    },
    "likes" : 0,
    "rating" : 0,
    "rating_count" : 0,
    "release_date" : "1955-11-11"
}

casts.crew 内の配列要素から withBase フィールドを削除したい..

私はこれを試しました

db.coll.update({_id:235399},{$unset: {  "casts.crew.withBase" : 1 } },false,true)

何も変わっていません。

そして、これを試しました..

db.coll.update({_id:235399},{$unset: {  "casts.crew" : { $elemMatch: { "withBase": 1 } } } },false,true)

ドキュメントから乗組員配列全体を削除しました。

誰かが私に正しいクエリを提供してもらえますか?

4

3 に答える 3