最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
MongoDB 数组操作使用详解
时间:2022-06-29 10:38:01 编辑:袖梨 来源:一聚教程网
$push:向文档数组中添加元素,如果没有该数组,则自动添加数组。
代码如下 | 复制代码 |
db.users.insert({"name":"zhang"}) |
以上代码,先创建name为zhang的用户,再给该用户加入邮箱,放到emails数组中.
$addToSet:功能与$push相同,区别在于,$addToSet把数组看作成一个Set,如果数组中存在相同的元素,不会插入。
代码如下 | 复制代码 |
db.users.update({"name":"zhang"},{"$addToSet":{"emails":"zhang@fwvga.com"}}) |
可以看到,并没有两个zhang@fwvga.com的邮箱.
$addToSet还可以与$each组合使用,一次添加多个值。
代码如下 | 复制代码 |
db.users.update({"name":"zhang"},{"$addToSet":{"emails":{"$each":["zhang@fwvga.com","zhang@163.com","zhang@qq.com"]}}}) |
$pop,与$push相对应,删除数组里的元素
代码如下 | 复制代码 |
db.users.update({"name":"zhang"},{"$pop":{"emails":{key:1}}}); |
key=1,从尾删除,key=-1,从头删除
$pull 删除指定元素,结合上面的例子,就是删除指定的邮箱
代码如下 | 复制代码 |
db.users.update({"name":"zhang"},{"$pull":{"emails":"zhang@163.com"}}); |
修改指定位置的元素:
数组每个元素都有索引,从0开始。经过上面的一系列操作,zhang的文档应该是这样的:
代码如下 | 复制代码 |
{ "_id" : ObjectId("51a16b02d2ded250f4aab338"), "emails" : [ "zhang@pocketdigi.com", "zhang@fwvga.com" ], "name" : "zhang" } |
假如要把第一个邮箱修改成zhang@163.com:
代码如下 | 复制代码 |
db.users.update({"name":"zhang"},{"$set":{"emails.0":"zhang@163.com"}}); |
假如要把zhang@fwvga.com替换成zhang@qq.com,在并不知道zhang@fwvga.com索引时:
代码如下 | 复制代码 |
db.users.update({"name":"zhang","emails":"zhang@fwvga.com"},{"$set":{"emails.$":"zhang@qq.com"}}); |
相关文章
- 《烟雨江湖》陶渊溢泉州离队通关攻略 04-26
- 原神法沙利亚的狂想曲修复水道任务怎么做 04-26
- 女神异闻录夜幕魅影YUI要抽吗 04-26
- 恶意不息芬利怎么救 04-26
- 光遇4.26免费魔法有什么 04-26
- 原神佩特莉可镇宝藏位置在哪 04-26