其實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加回來.