• MongoDb基本语法


    一、操作mongodb数据库


    1、创建数据库

    • 语法:use 数据库名
    • 说明:如果数据库不存在则创建数据库,否则切换到指定的数据库
    • 注意:如果刚刚创建的数据库不在列表内,如果要显示它,我们需要向刚刚的数据库中插入一些数据(db.student.insert({name:'tom',age:18,gender:1,address:"北京",isDelete:0}))

    2、删除数据库
      前提:使用当前数据库
      db.dropDatabse()


    3、查看所有数据库
      show dbs


    4、查看当前正在使用的数据库
      a、db  
      b、db.getName()


    5、断开连接
      exit


    6、查看命令api
      help


    二、集合操作


    1、查看当前数据库下有哪些集合
      show collections


    2、创建集合
      


    a、
        语法:db.createCollection('集合名')
        示例:db.createCollection('class')
      


    b、
        语法:db.集合名.insert(document)
        示例db.student.insert({name:'tom',age:18,gender:1,address:"北京",isDelete:0})
        区别:两者的区别在于前者创建的是一个空的集合,后者创建一个空的集合并添加一个文档。


    3、删除当前数据库中的集合
      语法:db.集合名.drop()
      示例:db.class.drop()


    三、文档操作


    1、插入文档
      a、使用insert()方法插入文档

      语法:db.集合名.insert(文档)
      插入一个:db.student.insert({name:"lilei",age:19,gender:1,address:"北京",isDelete:0})

      语法:db.集合名.insert([文档1],[文档2],……,[文档n])
      插入多个:db.student.insert([{name:"韩梅梅",age:20,gender:1,address:"上海",isDelete:0},
      {name:"海妹妹",age:19,gender:1,address:"北京",isDelete:0}])

      b、使用save()方法插入文档
        语法:db.集合名.save(文档)
        说明:如果不指定_id字段,save()方法类似于insert()如果指定_id字段,则会更新_id字段的数据
        示例1:db.student.save({name:"poi",age:21,gender:1,address:"北京",isDelete:0})
        示例2:db.student.save({_id:object("5afe6842286b72ee15913653"),name:"poi",age:23,gender:1,address:"北京",isDelete:0})


    2、文档更新
      


    a、update()方法用于更新已存在的文档
      语法:
        db.集合名.update(
          query,
          update,
          {
            upset:<boolean>
            multi:<boolean>
            writeConcern:<document>
          })
      参数说明:
        query:update的查询条件,类似于sql里update内的where语句
        update:
          update的对象和一些更新的操作符($set,$inc)等。$set直接更新,$inc在原有基础上累加后更新。
        upset:可选,如果不存在update的记录,是否当新数据插入,true为插入,False为不插入,默认false。
        multi:可选,默认false,只更新找到的第一条记录,如果为true,则将查找结果全部更新。
        writeConcern:可选,抛出异常的级别。
      需求:将lilei的年龄更新到25
      实例
      db.student.update({name:"lilei"},{$set:{age25:25}})
      db.student.update({name:"lilei"},{$inc:{age25:25}})累加
      db.student.update({name:"lilei"},{$inc:{age25:25}},{multi:true})全改
      


    b、save()方法通过传入的文档替换已有文档
      语法:

        db.集合名.save(document,{writeConcern:<document>})

      参数说明
        document:文档数据
        writeConcern:可选,抛出异常的级别
      
    注意:save基本不用,update常用


    3、文档删除
      说明:在执行remove()函数前,先执行find()命令来判断执行条件是否存在是一个良好习惯
      语法:
      db.集合名.remove(
        query,

        {
          justOne:boolean,
          writeConcern:<document>
        }
      )
      参数说明:
        query:可选,删除文档的条件
        justOne:可选,如果为true或1,只删除一个文档
        示例:db.student.remove({name:"tom"})


    4、文档查询
      


    a、find()方法
      语法:db.集合名.find(数据)
      查询所有:db.student.find()
      


    b、find()方法查询指定列
      语法:db.集合名.find(
           query,
           {
            key:1,
            key:2
           }
           )
      参数说明:
      query:查询条件
      key:显示的字段,1表示显示
        示例:
          db.student.find({gender:0},{name:1,age:1})
          db.student.find({},{name:1,age:1})


    c、pretty()方法以格式化的方式来显示文档
      示例:db.student.find.pretty()


    d、findOne()方法查询匹配结果的第一条数据
      示例:db.student.findOne({gender:1})


    5、查询条件操作符
      作用:条件操作符用于比较两个表达式并从MongoDb集合中获取数据
      


    a、大于 $gt
        语法:db.集合.find({<key>:{$gt:<>value}})
        示例:db.student.find({age:{$gt:20}})
      


    b、大于等于 $gte
        示例:db.student.find({age:{$gte:20}})
      


    c、小于 $lt
        示例:db.student.find({age:{$lt:20}})
      


    d、小于等于 $lte
        示例:db.student.find({age:{$lte:20}})
      


    e、等于 :
      


    f、使用_id查询
      


    g、查询某个结果集的条数
        db.student.find().count()
      


    h、查询某个字段的值是否包含另一值
        db.student.find({name:/ile/})
      


    i、查询某个字段的值是否另一个值开头
        db.student.find({name:/^li/})


    6、条件查询and or
      


    a、and条件
        语法:db.集合名.find({条件1,条件2,条件n})
        示例:db.student.find({gender:1,age:{$gt:16}}
      


    b、or条件

      语法:db.集合名.find

       (
        {
        $or:[{},{},{}]
        }
      )
      示例:db.student.find({$or:[{age:11},{age:{$gt:20}}]})


    c、and or 联合
      语法:
        db.集合名.find

        (
          {
            条件1,
            条件2,
            $or:[{条件3},{条件4}]
          }
        )


    7、limit、skip
      


    a、limit():读取指定数量的数据记录
        示例:db.student.find().limit(2)
      


    b、skip():跳过指定数量的数据
        示例:db.student.find().skip(2)
      


    c、limit和skip联合
        通常用这种方式来实习分页功能
        示例:db.student.find().limit(3).skip(3)


    8、排序
      语法:db.集合名.find().sort({<key>:1|-1})
      示例:db.student.find().sort({age:1})
      注意:1表示升序,-1表示降序。



  • 相关阅读:
    Element-UI的表格展开的属性 type=“expand” 没有数据的则不显示展开按钮,有数据才会显示
    elementui 的 el-dialog 里面获取不到dom元素问题,设置表单滚动条到顶部问题
    el-checkbox点击事件阻止冒泡
    axios的get方法传数组参数
    elementui 的 el-data-picker 时间回填无效
    vue获取数据后给data赋值,页面不刷新的问题
    vue 项目碰到的问题
    input框只能输入汉字、数字+字母的验证
    Vue Cli3 TypeScript 搭建工程
    Form表单的主要Content-Type
  • 原文地址:https://www.cnblogs.com/xjmlove/p/9058608.html
Copyright © 2020-2023  润新知