其实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加回来.