mongodb關於$set $unset的鍵增刪操作

其實mongodb的json是帶點語法的.比如:

type CA struct {
Member string
}

type CB struct {
Ca CA
}

如果如果 CA要用 member就需要使用點語法到 Ca.Member.mongodb的操作使用點可以很方便的找到目標位置.比如:

{
    "_id": ObjectId("521d9c18b34cd9052000000a"),
    "allylist": {
        "1987": {
            
        }
    },
    "allyreq": {
        "1": true,
        "2": true,
        "3": true
    },
    "energy": 100,
    "exp": 200,
    "formation": {
        "id": 0,
        "positionlist": [
            NumberLong(0),
            NumberLong(0),
            NumberLong(0),
            NumberLong(0),
            NumberLong(0),
            NumberLong(0),
            NumberLong(0),
            NumberLong(0),
            NumberLong(0)
        ]
    },
    "gold": 10000,
    "heroghost": 20000,
    "iconid": 1,
    "level": 10,
    "name": "cs9",
    "name2": "Roger",
    "name3": {
        "name": "Roger"
    },
    "password": "123",
    "sex": 1,
    "userid": NumberLong(9)
}

這是個蠻複雜的數據了.現在要幹掉allyreq裏面的1這個key.

就可以使用. update({"userid":9},{"$unset":{"allyreq.1":true}})

注意unset這個東東只認key.value可以是任意的.true.1或者其他都沒關係.只要看到 allyreq.1就會幹掉它

同理 update({"userid":9},{"$set":{"allyreq.1":true}}) 會重新把1加回來.


發佈了104 篇原創文章 · 獲贊 7 · 訪問量 42萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章