MongoDB CRDU命令

  • find

    用法

1
db.collection.find(query, projection)

参数

  • query

    • $nin

      例: 查询出 email 不为 null 或 “” 的用户数据

      1
      db.users.find({ email: { $nin: [null, ""] }})
  • projection

    {field: value}

    field: 需要展示的字段

    value: true/false/1/0 true 或 1 代表展示,false 或 0 反之

    例: 从查询结果中展示指定字段(fields)

    1
    db.users.find({name:"penman"}, {_id:1, name:1, status:1})
  • update

    • 操作符

      • $push
        向数组中追加元素,如果没有该字段,则生成 {字段:[传入的值]}

      例:

      1
      2
      3
      4
      5
      6
         {
      "_id": ObjectId("5fe948da6b74bc04ea733e53"),
      "name": "张三"
      }
      ```
         给张三 添加 爱好 “中国象棋”

      db.users.update({name:”张三”},{$push:{hobby:”中国象棋”}}

      1
          结果:

      {

      "_id": ObjectId("5fe948da6b74bc04ea733e53"),
      "name": "张三",
      "hobby": ["中国象棋"]

      }

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
         - ##### $pushAll

         用法跟 $push 一致,只是 $pushAll 是向原数组 追加多个元素。

         例:
      ```json
      {
      "_id": ObjectId("5fe948da6b74bc04ea733e53"),
      "name": "张三",
      "hobby": ["中国象棋"]
      }

      给hobby 添加 “乒乓球“,”书法“

      1
      db.users.update({name:"张三"},{$pushAll:{hobby:["乒乓球","书法"]}})

      结果:

      1
      2
      3
      4
      5
         {
      "_id": ObjectId("5fe948da6b74bc04ea733e53"),
      "name": "张三",
      "hobby": ["中国象棋","乒乓球","书法"]
      }
    • findOneAndUpdate

      1
      db.collection.findOneAndUpdate(<filter>, <update>, <options>)
  • options

    参数 类型 描述
    returnNewDocument boolean true 返回修改后的结果,false 原文档 默认 false
原创技术分享,您的支持将鼓励我继续创作