• MongoDB修改器总结


    1"$set":用来制定一个字段值,若不存在,则创建;

       一般用于点加一个字段

      db.users.update({name:"joe"},{"$set":{"favorite book":"War and Peace"}})

      还可以修改一个字段

      db.users.update({name:"joe"},{"$set":{"favorite book":"Your"}})

     还可以删除

      db.users.update({name:"joe"},{"$unset":{"favorite book":"Your"}})

    2"$inc":增加或者减少

                    用来增加已有的键的值,不存在则创建一个,比如某网站的访问量

     db.users.update({name:"joe"},{"$inc":{"score":1}})

     每次访问都会增加1

    3"$push":会向已有的数组末尾添加一个元素,要是没有,创建一个新的数组。

      比如要添加一个评论:
      db.users.update({name:"joe"},{"$push":{"comments":{"name":"joe","email":"joe@yahoo.com","conment":"nice"}}})

     还想添加,继续修改即可

    db.users.update({name:"joe"},{"$push":{"comments":{"name":"bob","email":"bob@yahoo.com","conment":"good"}}})

    4."$each"

          "$each"与"$push"结合,可以操作复杂的数组。可以一次添加多个值

    var users={"username":"joe",
              "email":[
                           "joe@example.com",
                           "joe@exam.com",
                         "joe@yahoo.com"]}
     db.users.insert(users)
     db.users.find()
     db.users.update({"username":"joe"},
                              {"$addToSet":{"email":"joe@mail.com"}})
     db.users.update({"username":"joe"},
                               {"$addToSet":{
                                         "email":{
                                         "$each":["joe@qq.com","joe@Hadoop.com","joe@python.com"]}}})

    结果展示:
       

    {
    "_id" : ObjectId("57600ffd73b4b5108cfff9b0"),
        "username" : "joe",
       "email" : [
       "joe@example.com",
       "joe@exam.com",
       "joe@yahoo.com",
       "joe@mail.com",
       "joe@qq.com",
        "joe@Hadoop.com",
      "joe@python.com"
       ]
    }

    5"$pop""$pull"删除元素的方法。类似于堆栈中的出栈操作
      

    db.lists.insert({"todo":["dishes","laundry","dry cleaning"]})
    db.lists.find()
    db.lists.update({},{"$pull":{"todo":"laundry"}})

    6基于位置的修改可以使用定位操作符"$"

      如: db.blog.plogs.update({"post","post_id"},

                                                 {"$inc":"comments.0.votes":1})

       实际在数据库中,数组的下标很难确定,我们采用

      db.blog.update({"comments.author":"Jim"},

                                 {"$set":{"comments.$.author":"Wade"}})

  • 相关阅读:
    ChinaCock界面控件介绍-CCLoadingIndicator
    delphi-search-path-vs-library-path-vs-browsing-path
    10.3制作Android Splash启动界面
    FMX取得屏分辨率
    REST easy with kbmMW #20 – OpenAPI and Swagger UI
    升级ChinaCock 10.3遇到的问题
    FastJson中的ObjectMapper对象的使用详解
    fastjson的值过滤器ValueFilter
    springboot 2.0 配置 spring.jackson.date-format 不生效
    War 包部署
  • 原文地址:https://www.cnblogs.com/lwy19998273333/p/5585778.html
Copyright © 2020-2023  润新知