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"})

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

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

(0)
上一篇 2022年1月28日 下午9:00
下一篇 2022年1月28日 下午10:00


相关推荐

  • tomcat修改端口号失效

    tomcat修改端口号失效原因使用 startup bat 默认启动 CATALINA HOME 路径下的 tomcat 但我们想要启动的是另外一个 tomcat 解决方法先在 tomcat 的启动处 bin startup bat 中将 ifnot CATALINA HOME gotogotHome 注释掉 这里的注释得用 rem 到 server xml 文件修改所需的端口号 重新启动 tomcat

    2026年3月19日
    2
  • H3C交换机配置常用命令「建议收藏」

    H3C交换机配置常用命令「建议收藏」1.配置文件相关命令[Quidway]displaycurrent-configuration//显示当前生效的配置[Quidway]displaysaved-configuration//显示flash中配置文件,即下次上电启动时所用的配置文件<Quidway>resetsaved-configuration…

    2022年6月20日
    43
  • 毕设开发日志2017-11-05[通俗易懂]

    毕设开发日志2017-11-05

    2022年3月12日
    38
  • Git socks5 代理设置

    Git socks5 代理设置首先确认 ip 和端口 例如 ip 为 127 0 0 1 端口为 1080 打开终端 运行以下命令 gitconfigglo proxy socks5 127 0 0 1 1080 gitconfigglo proxy socks5 127 0 0 1 1080 查看 cat gitconfig 发现是多了这两项配置 http pro

    2026年3月18日
    2
  • sntp服务器位置,sntp的服务器地址

    sntp服务器位置,sntp的服务器地址sntp的服务器地址内容精选换一换介绍常见的安全组配置示例。如下示例中,出方向默认全通,仅介绍入方向规则配置方法。不同安全组内的云耀云服务器内网互通仅允许特定IP地址远程连接云耀云服务器SSH远程连接Linux云耀云服务器RDP远程连接Windows云服务器公网ping云耀云服务器云耀云服务器作Web服务器云耀云服务器作DNS服务器使用FTP上传或下载文件场景举例:在介绍常见的安全组配置示例…

    2025年7月15日
    4
  • JUC多线程:线程池的创建及工作原理

    JUC多线程:线程池的创建及工作原理

    2021年4月10日
    114

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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