MongoDB-命令_01

1. 启动服务后,打开命令界面

在这里插入图片描述

2. 常用命令

  • show dbs;-查看所有库
  • use 库名;-创建库,没有库就创建,有就切换为该库
  • db;-查看当前使用的库
  • db.dropDatabase();- 删除当前库
  • db.createCollection(name,option); - 创建集合
  • name:要创建的集合名称
    • options:可选参数,指定有关的内存大小及索引的选项
      参数说明:
    • options 可以是以下参数
字段 类型 描述
capped 布尔 (可选)如果为 true,则创建固定集合。固定集合是指有着固定大小的集合,当达到最大值时,它会自动覆盖最早的文档。当该值为 true 时,必须指定 size 参数。
autoIndexId 布尔 (可选)如为 true,自动在 _id 字段创建索引。默认为 false。
size 数值 (可选)为固定集合指定一个最大值(以字节计).如果 capped 为 true,也需要指定该字段
max 数值 (可选)指定固定集合中包含文档的最大数量。
  • show collections; - 查看有哪些集合

  • show tables; -查看都有哪些集合

  • db.getCollectionInfos();-查看都有哪些集合

  • db.集合名.drop();-删除指定集合

  • db.集合名.insert(document);-向集合中插入文档(注意,这里document是文档的意思)文档需要时json格式,如db.user.insert({key:value});

  • db.集合名.update(
    < query>,
    < update>,
    {
    upsert:< boolean>,
    multi:< boolean>
    }
    )

    • 参数说明:
      query:update的查询条件,类似sql,update查询内where后面的
      update:update的对象和一些更新的操作符(如 , , set…)等,也可以理解为sql update查询内set后面的
      upsert:可选,这个参数的意思是,如果不存在update的记录,是否插入该数据,true为插入,默认是false,不插入
      multi:可选,mongdb默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
      db.student.update({“name”:“sss”},{“age”:“18”});-将名为sss的第一条数据年龄改为18。注意:原有数据中其他列的值都会改为空
      db.student.update({“name”:“sss”},{$set:{“age”:“18”}});-将名为sss的第一条数据年龄改为18,只会更改该列,其他列的值不变
      db.student.update({“name”:“sss”},{ $set:{“age”:“18”}},{upsert:true});-更改名为sss的数据,如果没有则新增
      db.student.update({“name”:“sss”},{ $set:{“age”:“18”}},{multi:true});-更改名为sss的所有数据
  • db.集合名.remove(
    < query>,
    < justOne>
    )
    参数说明:
    query:(可选)删除的文档的条件
    justOne:(可选)如果设为true或1,则只删除一个文档
    db.集合名.remove({});-删除所有数据
    db.集合名.find(query);-条件查询
    db.集合名.find(query).pretty();-格式化查询
    db.集合名.find(query).count();-查询有多少条数据

MongoDB 与 RDBMS where 语句比较

操作 格式 范例 RDBMS语句
等于 {< key>:< value>} db.student.find({“name”:“zxf”}).pretty() where name=‘zxf’
小于 < key>:{$lt:< value>}} db.student.find({“age”:{$lt:20}}).pretty() where age<20
小于或等于 < key>:{$lte:< value>}} db.student.find({“age”:{$lte:20}}).pretty() where age<=20
大于 < key>:{$gt:< value>}} db.student.find({“age”:{$gt:20}}).pretty() where age>20
大于或等于 < key>:{$gte:< value>}} db.student.find({“age”:{$gte:20}}).pretty() where age>=20
不等于 < key>:{$ne:< value>}} db.student.find({“age”:{$ne:20}}).pretty() where age!=20
  • db.集合名.find({key1:value1,key2:value2}).pretty();-多个条件的and查询
    例 :db.student.find({“name”:“zxf”,“age”:18});-类似于where name=‘zxf’ and age=18
  • db.集合名.find({ $or:[{key1:value1},{key2:value2}] }).pretty();-多个条件的or查询
    例:db.student.find({ $or:[{“name”:“zxf”},{“name”:“xff”}] });-类似于where name=‘zxf’ or name=‘xff’
  • and 和 or 连用,例:
    db.student.find({“age”:{$gt:20}, $or:[{“name”:“zxf”},{“sex”:“2”}] }).pretty();-类似于where age>20 and(name=‘zxf’ or sex=2)
  • db.集合名.find().skip(开始坐标).limit(显示条数);-分页查询,开始坐标的公式应为(页数-1)*条数
  • db.集合名.find().sort({排序列:排序方式});-将集合排序,排序方式1为升序,-1为降序
  • 日期使用:
    new Date();-当前时间
    ISODate();-当前时间
    注:new Date();和ISODate();获得的当前时间是格林尼治时间,与我们相差8小事
    ISODate(“年-月-日 时:分:秒”);-指定日期时间

猜你喜欢

转载自blog.csdn.net/weixin_44100514/article/details/86617900
今日推荐