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)


相关推荐

  • 【剑指offer】出现次数超过一半的数字「建议收藏」

    【剑指offer】出现次数超过一半的数字

  • git 本地分支切换远程分支_git看不到远程分支

    git 本地分支切换远程分支_git看不到远程分支gitcheckout-bxxx{{本地建立的分支}}origin/xxxx{{远端的分支,一定要记得加origin}}———–遇到的坑是:先拉取的master分支代码,然后再在仓库建立的分支,所以需要先在本地进行“gitpull”代码以后,”gitbranch-r”才能看到新建立的分支!!…

  • Matlab自定义颜色图

    Matlab自定义颜色图介绍Matlab自带颜色图比较单调,很多时候无法达到其它绘图工具,如:NCL、Pythonmatplotlib、GMT等绘图软件颜色图效果。下面就介绍如何将NCL等颜色图为己所用。颜色图下载NCL官网提供了上述绘图工具的颜色图合集,因此只需要将需要的颜色图下载后进行使用即可。选择颜色图WhiteBlueGreenYellowRed下载。Matlab读取下载的颜色表clc;clearall;closeallfiguremesh(peaks)colorbarcolor=n

  • Struts2漏洞分析「建议收藏」

    Struts2漏洞分析「建议收藏」当在浏览器输入如下地址时:      http://www.xxxx.com/aaa.action?(‘\u0023_memberAccess[\’allowStaticMethodAccess\’]’)(meh)=true&(aaa)((‘\u0023context[\’xwork.MethodAccessor.denyMethodExecution\’]\u003d\u0023foo’)

  • 如何写一篇可实施的技术方案?

    如何写一篇可实施的技术方案?为何要写这篇博文?一个错误的方案设计重点是什么?拿模板说说总结

  • IDEA更换主题

    IDEA更换主题更换IDEA主题只需要3步(IDEA14)1.下载主题在主题网站上IDEAColorThemes上浏览喜欢的主题并下载该主题。(如果网址有变更,googleIDEAthemes即可。)2.导入主题在IDEA中导入该主题,具体如下:file–>importsetttings–>选中1中下载的主题jar文件–>一路确认–>重启3.设置主题设置主题:

发表回复

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

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