mongodb创建、更新、删除

mongodb创建、更新、删除

大家好,又见面了,我是全栈君。

1.插入操作

user = {"username":"lcq","sex":"man"}
db.user.insert(user)

2.更新

var lcq = db.user.findOne({"username":"lcq"}}
lcq.address = {"province":"shandong","location":"zoupin"}
lcq.haha = "hehhehe"
db.user.update({"username":"lcq"},lcq)


> db.user.update({"username":"lcq"},{$set:{"test":"test"}})
> db.user.findOne({"username":"lcq"})
{
        "_id" : ObjectId("55024de2849b70a4f670f413"),
        "address" : {
                "province" : "shandong",
                "location" : "zoupin"
        },
        "haha" : "afdfdfd",
        "sex" : "man",
        "test" : "test",
        "username" : "lcq"
}

> db.user.update({"username":"lcq"},{$unset:{"test":1}})

$unset删除某个字段

> lcq = db.user.findOne({"username":"lcq"})
{
        "_id" : ObjectId("55024de2849b70a4f670f413"),
        "address" : {
                "province" : "shandong",
                "location" : "zoupin"
        },
        "haha" : "afdfdfd",
        "sex" : "man",
        "username" : "lcq"
}
>
>
> lcq.count = 1
> db.user.update({"username":"lcq"},lcq)


> db.user.update({"username":"lcq"},{$inc:{"count":2}})

$inc设置某个字段自增

> db.user.update({"username":"lcq"},{$set:{"friends":['zhangsan']}})


> db.user.findOne()
{
        "_id" : ObjectId("55024de2849b70a4f670f413"),
        "address" : {
                "province" : "shandong",
                "location" : "zoupin"
        },
        "count" : 3,
        "friends" : [
                "zhangsan"
        ],
        "haha" : "afdfdfd",
        "sex" : "man",
        "username" : "lcq"
}


> db.user.update({"username":"lcq"},{$push:{"friends":'lisi'}})
>
> db.user.findOne()
{
        "_id" : ObjectId("55024de2849b70a4f670f413"),
        "address" : {
                "province" : "shandong",
                "location" : "zoupin"
        },
        "count" : 3,
        "friends" : [
                "zhangsan",
                "lisi"
        ],
        "haha" : "afdfdfd",
        "sex" : "man",
        "username" : "lcq"
}

$push向数组中加入新的值

> db.user.update({"username":"lcq"},{$addToSet:{"friends":'lisi'}})
>
> db.user.findOne()
{
        "_id" : ObjectId("55024de2849b70a4f670f413"),
        "address" : {
                "province" : "shandong",
                "location" : "zoupin"
        },
        "count" : 3,
        "friends" : [
                "zhangsan",
                "lisi"
        ],
        "haha" : "afdfdfd",
        "sex" : "man",
        "username" : "lcq"
}


> db.user.update({"username":"lcq"},{$addToSet:{"friends":'xiaoming'}})
>
>
> db.user.findOne()
{
        "_id" : ObjectId("55024de2849b70a4f670f413"),
        "address" : {
                "province" : "shandong",
                "location" : "zoupin"
        },
        "count" : 3,
        "friends" : [
                "zhangsan",
                "lisi",
                "xiaoming"
        ],
        "haha" : "afdfdfd",
        "sex" : "man",
        "username" : "lcq"
}
>

可见使用$addToSet加入时,假设存在同样的值则不加入。

> db.user.update({"friends":"lisi"},{$set:{"friends.$":"join"}})
>
>
>
> db.user.findOne()
{
        "_id" : ObjectId("55024de2849b70a4f670f413"),
        "address" : {
                "province" : "shandong",
                "location" : "zoupin"
        },
        "count" : 3,
        "friends" : [
                "zhangsan",
                "join",
                "xiaoming"
        ],
        "haha" : "afdfdfd",
        "sex" : "man",
        "username" : "lcq"
}

使用$符进行数组的定位,实现更新数组特定位置的值。

> lcq = db.user.findOne()
{
        "_id" : ObjectId("55024de2849b70a4f670f413"),
        "address" : {
                "province" : "shandong",
                "location" : "zoupin"
        },
        "count" : 3,
        "friends" : [
                "zhangsan",
                "join",
                "xiaoming"
        ],
        "haha" : "afdfdfd",
        "sex" : "man",
        "username" : "lcq"
}
>
>
> lcq.count = 10
10
>


> db.user.save(lcq)
>


> db.user.findOne()
{
        "_id" : ObjectId("55024de2849b70a4f670f413"),
        "address" : {
                "province" : "shandong",
                "location" : "zoupin"
        },
        "count" : 10,
        "friends" : [
                "zhangsan",
                "join",
                "xiaoming"
        ],
        "haha" : "afdfdfd",
        "sex" : "man",
        "username" : "lcq"
}

save方法在不存在时创建。存在时更新。

更加方便。

3.删除

> db.user.insert({"username":"zhangsan"})
> db.user.remove({"username":"zhangsan"})

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/115904.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 5分钟商学院之个人篇–时间管理和学习能力

    1.时间管理1.1时间成本时间成本,就是如果把这个时间用于做别的事情,可以获得的收益懂得计算时间成本,可以帮助我们做出理性决策,比如一件事是自己做合适还是花钱请别人做合适1.2GTD(G

    2021年12月30日
  • win10 系统WLAN不见了,win10找不到wifi选项的解决办法

    win10 系统WLAN不见了,win10找不到wifi选项的解决办法问题如下图所示:可以看到没有WLAN设置的选项而且是无网络的状态解决办法:两步就好了第一步,以管理员身份运行CMD点击Cortana输入cmd鼠标右键命令提示符以管理员身份运行还有一种办法就是进入C:\Windows\System32还是右键以管理员身份运行两种方法都可以第二步:使用netshwinsockreset…

  • nginx源代码分析–event事件驱动初始化

    nginx源代码分析–event事件驱动初始化

    2021年12月13日
  • mysql新建连接1045_Navicat for Mysql 1045错误

    mysql新建连接1045_Navicat for Mysql 1045错误在使用图形用户工具NavicatforMySQL新建连接时,会报一个1045,某用户访问拒绝的错误。一般的解决办法是需要重新修改Mysql的密码,操作步骤如下:1netstopmysql停止mysql服务2进入mysql安装路径的bin目录下,使用mysqld命令,在cmd下mysqld–skip-grant-tables3开一个新的cmd窗口mysql不需要用户名就可…

  • MapReduce编程快速入门

    MapReduce编程快速入门MapReduce编程规范用户编写的程序分成三个部分:Mapper,Reducer,Driver(提交运行mr程序的客户端)Mapper阶段继承Mapper类(1)用户自定义的Mapper要继承自己的父类(2)Mapper的输入数据是KV对的形式(KV的类型可自定义)(3)Mapper中的业务逻辑写在map()方法中(4)Mapper的输出数据是KV对的形式(KV的类型可自定义)(5)map()方法(maptask进程)对每一个<K,V>调用一次Reducer阶段继承Reduce

  • IDEAL 2021.10激活码【最新永久激活】[通俗易懂]

    (IDEAL 2021.10激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.cn/100143.html…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号