周大胖子 发表于 2018-6-25 00:29:20

mongodb 数组的 数组修改器

详情仿照: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 多使用 但是使用情况 请参照 原文。



页: [1]
查看完整版本: mongodb 数组的 数组修改器