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)


相关推荐

  • C语言整型转字符串_c++整形转字符串

    C语言整型转字符串_c++整形转字符串本文主要介绍在C++编程语言中,将整型转换为字符串类型的具体方法。1使用to_string函数在C++11标准中,可以使用to_string函数,将整型转换为字符串类型。1.1to_string函数介绍to_string函数的用法如下:stringto_string(intval);stringto_string(longval);stringto_string(longlongval);stringto_string(unsigned

    2022年10月18日
  • Teamviewer无法连接,日志报错error 10049「建议收藏」

    Teamviewer无法连接,日志报错error 10049「建议收藏」Teamviewer无法连接,一直处于”Notready.Pleasecheckyourconnection”状态,无法获取到连接ID,也无法通过ID连接Partner,但是电脑的网路连接正常(网页能上,各种网络应用程序都可以使用),并且FireWall都处于off状态.查看teamveiwer的程序日志(从Extral->Openlogfile可以打开)后,报Error10049

  • 悲观锁和乐观锁的使用[通俗易懂]

    悲观锁和乐观锁的使用[通俗易懂]1、悲观锁(PessimisticLock),顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。最常用的就是select..forupdate,它是一种行锁,会把select出来的结果行锁住,在本

  • 【JAVA】【NIO】3、Java NIO Channel

    【JAVA】【NIO】3、Java NIO Channel

  • SpringBoot项目运行jar包启动「建议收藏」

    SpringBoot项目运行jar包启动「建议收藏」人工智能,零基础入门!http://www.captainbed.net/innerSpringBoot项目在开发中,方便快捷,有一点原因就是SpringBoot项目可以打jar包运行:把jar包直接扔服务器上,然后运行jar包就能访问项目接口了。下面介绍SpringBoot项目打jar包运行的步骤流程:一、我们所熟悉的是在开发环境下,直接用开发工具来运行那个启动类,然后就能启动这个项…

  • linux服务器杀进程,linux杀死进程命令[通俗易懂]

    进程ID注:信号代码可以省略;我们常用的信号代码是-9,表示强制终止;举例:[root@localhost~]#psauxf|grephttpdroot49390.00.05160708pts/3S+13:100:00\_grephttpdroot48300.11.32423210272?Ss13:020:00/usr/sbin/httpd…

发表回复

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

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