|
详情仿照:https://blog.csdn.net/zilu_wang/article/details/51457331
总结经验:
push修改器:
push的作用就是,如果指定的键已经存在,它会向已有的数组末尾加入一个元素,要是没有就会创建一个新的数组。下面我们把新朋友加进去。
- db.user.update({“_id” : ObjectId(“4ffcb2ed65282ea95f7e3304”)},{$push:{“relationships”:{“fname”:”xiong”,”lname”:”lan”}}})
复制代码 pop:从头部或者尾部删除- db.user.update({“_id” : ObjectId(“4ffcb2ed65282ea95f7e3304”)},{$pop:{“relationships”:1}})
复制代码 如果我们想从数组的开头删除该怎么办呢。很简单,把上面的“1”改成“-1”,它将逆向操作。下面看一下:
- db.user.update({“_id” : ObjectId(“4ffcb2ed65282ea95f7e3304”)},{$pop:{“relationships”:-1}})
复制代码 pull :从数组中间删除 【将所有匹配到的数据都删除】- db.user.update({“_id” : ObjectId(“4ffcb2ed65282ea95f7e3304”)},{$pull:{“relationships”:{“fname”:”dongren”,”lname”:”zeng”}}})
复制代码 ne:修改器; 主要拿来判断,若数组里面有这个值,则不插入;没有才插入。- db.user.update({“relationships.fname”:{ne:"xiong"}},{ne:"xiong"}},{set:{“fname”:”xiong”,”lname”:”lan”}})
复制代码 addToSet: 同 ne的作用相同外 还有:配合each 插入多组数据
- db.user.update({“_id” : ObjectId(“4ffcb2ed65282ea95f7e3304”)},
- {addToSet:{"relationships":{addToSet:{"relationships":{each:[{“fname”:”xiong”,”lname”:”lan”},
- {“fname”:”dongren”,”lname”:”zeng”}]}}})
- db.user.findOne()
复制代码
上述代码有待考证 最后一个 addToSet 多使用 但是使用情况 请参照 原文。
|
|