MongDB 通过Robo3T来快速入门mongodb

Ubuntu20.04 安装 MongDB

  1. # 安装
  2. sudo apt install mongodb
  3. # 查看状态
  4. # status start stop enable disable
  5. systemctl status mongodb
  6. # 如果是apt方式安装 配置文件位置
  7. vim /etc/mongodb.conf

MongDB 图像管理软件 Robo 3T

下载地址 https://robomongo.org/download

studiio 3T 收费版本 功能强大

robo 3T 免费版本 够用了

下载后, 进入软件目录 bin/robo3t 就可以启动了

Robo 3T连接MongoDB

首先确保mongodb已经启动,然后启动robo 3t

File -> Connect - create 创建连接, 然后点击save保存连接

双击连接,即可连接mongodb

在这里插入图片描述

创建数据

创建数据库

右击链接,选择 create database来创建数据库,我们创建一个 study

创建集合

双击数据库 study, 右击Collections,create collections, 我们创建一个 students

然后我们插入一条数据

双击 Collections(1), 再双击 students

(1) 表示有1个集合,students就是我们刚刚创建的集合,双击完成后,如下如图

在这里插入图片描述

我们插入一条数据,把命令更改

  1. db.getCollection('students').insertOne({
  2. "name":"张小二","age":"18","address":"北京"})

在这里插入图片描述

对比关系型数据库,非关系型数据库对数据结构没有那么强的一致性,但是我们尽量保证数据结构类型的一致性。

也就是说,我们可以执行如下命令,也可以成功执行

  1. db.getCollection('students').insertOne({
  2. "hello":"world","sex":"男","address":"四川"})

且你可以插入两条一样的数据,因为系统会自动给你加上_id 自动,这个不同,导致数据不同,所以会出现两个看似一样的数据

在这里插入图片描述

批量插入数据

  1. db.getCollection('students').insertMany([
  2. {
  3. "name":"张三","age":"33","address":"上海"},
  4. {
  5. "name":"李四","age":"24","address":"北京"},
  6. {
  7. "name":"王二麻子","age":"19","address":"保密"}
  8. ])

在这里插入图片描述

查询

查询所有

  1. db.getCollection('students').find({})

查询指定数据

  1. db.getCollection('students').find({
  2. "name":"张小二","age":"18"})

范围查询

查询年龄大于等于23, 因为我插入的时候是字符串,所以这里也只能输入字符串23,介意的可以自行修改,我就懒得改了

  1. db.getCollection('students').find({
  2. "age":{
  3. "$gte":"23"}})
  4. db.getCollection('students').find({ "age":{ "$gte":"23"}})
  5. $gt 大于
  6. $gte 大于等于
  7. $it 小于
  8. $ite 小于等于
  9. $ne 不等于
  10. # 范围查询
  11. db.getCollection('集合').find({ "字段1":{ 操作符1:边界1,操作符2:边界2}})
  12. # 范围查询,多个字段 关系是and 且
  13. db.getCollection('集合').find({
  14. "字段1":{ 操作符1:边界1,操作符2:边界2},
  15. "字段2":{ 操作符1:边界1,操作符2:边界2}
  16. }
  17. )

限定返回的内容

  1. # 1表示返回,0表示隐藏,默认1
  2. db.getCollection('students').find({查询条件},{返回字段:1,返回字段:0})

修饰返回结果

  1. # count() 返回条数
  2. db.getCollection('students').find({}).count()
  3. # limit() 限制返回条数
  4. db.getCollection('students').find({}).limit(4)
  5. # sort() -1倒序,1正序
  6. db.getCollection('students').find({}).sort({字段1:-1})

修改数据

  • updateOne 修改满足条件的第一条数据
  • updateMany 修改所有符合条件的数据

    db.getCollection(‘students’).updateMany({
    “查询语句的第一个字典”},{‘$set’:{
    “字段1”:”修改值”,”字段2”:”修改值”,}})

删除数据

删除delete 和 查询find的语法结构是一样的,就是把关键字换成delete,查询到什么,对应的就会删除什么。

一般的都是假删除,都是增加一个布尔值字段,表示数据是否删除,不会真正删除。

  • deleteOne 删除满足条件的第一条数据
  • deleteMany 删除所有符合条件的数据

去重

对于age,进行 age大于24的去重

  1. db.getCollection('students').distinct(
  2. 'age',
  3. {
  4. 'age':{
  5. '$gte':"24"}}
  6. )

发表评论

表情:
评论列表 (有 0 条评论,71人围观)

还没有评论,来说两句吧...

相关阅读

    相关 MongdbRobo3T

    数据库1.数据库的服务器用来保存数据用mongod启动2.数据库的客户端客户端用来操作服务器,对数据进行增删改查的操作mongo启动客户端所以要先启动服务器,才能进行操作。

    相关 Robo3T使用小结

    1,设置时间显示 在未设置前数据内的时间数都比当前时间少8小时。比如2019-2-27 15:00,在MongoDB里面时间就是2019-2-27 7:00 设置很简单,