mongodb关于$set $unset的键增删操作

来源:互联网 发布:java免费视频 编辑:程序博客网 时间:2024/06/03 17:56

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


原创粉丝点击