Mongodb的简单使用

1. mongodb服务端的启动

mongodb的基本信息

  • 默认端口:27017
  • 默认配置文件的位置:/etc/mongod.conf
  • 默认日志的位置:/var/log/mongodb/mongod.log
    mongodb服务端启动分别两种方式:
  • 本地测试方式的启动(只具有本地数据增删改查的功能)
  • 生产环境启动(具有完整的全部功能)

1.1 测试方式启动

  • 启动: sudo service mongod start (sudo service mongod start)
  • 停止: sudo service mongod stop
  • 重启: sudo service mongod restart
  • 查看mongodb配置文件中的配置选项使用grep -v "#" /etc/mongodb.conf
  • redis同上面的筛选操作

1.2 生产环境正式的启动方式

启动: sudo mongod [--auth --dbpath=配置文件路径 --logpath=日志文件路径 --append --fork] [-–f logfile ]

  • 只以 sudo mongod 命令启动时,默认将数据存放在了 /data/db 目录下,需要手动创建
  • --dbpath: 指定数据库的存放路径
  • --logpath: 指定日志的存放路径
  • --append: 或--logappend 设置日志的写入形式为追加模式
  • --fork: 或-fork 开启新的进程运行mongodb服务
  • --f: 或-f 配置文件路径(可以上述配置信息写入文件然后通过该文件中的参数进行加载启动)
  • --auth: 以权限认证的方式启动。
    使用shell脚本加载配置项
  • 使用vim编辑器创建配置文件vim mongo.conf
    mongodb.conf内容
--dbpath=存储/data/db的路径
--logpath=存储日志文件的路径
--logappend=true #使日志文件不是默认覆盖方式而是向后面追加方式
--fork=true #是否是以子进程的方式运行
--auth:true #可选参数,是否开启认证

使用shell方式运行命令sudo mongodb -f mongo.conf启动mongodb

1.3 查看是否启动成功 ps aux | grep mongod

2. 启动mongodb的客户端:进入mongo shell

  • 启动本地客户端: mongo
  • 查看帮助:mongo –help
  • 退出:exit或者ctrl+c

3. mongodb的简单使用

  • 开启mongodb server的情况下,在进入mongo shell后,就可以做简单的使用了

3.1 mongodb数据库的命令

  • 查看当前的数据库:db(没有切换数据库的情况下默认使用test数据库)
  • 查看所有的数据库:show dbs /show databases
  • 切换数据库:use db_name
    • db_name为show dbs后返回的数据库名
  • 删除当前的数据库:db.dropDatabase()

3.2 mongodb集合的命令

  • 无需手动创建集合:
    向不存在的集合中第一次添加数据时,集合会自动被创建出来
  • 手动创建集合:
    • db.createCollection(name,options)
    • 例:db.createCollection("stu")
    • 例: db.createCollection("sub", { capped : true, size : 10 } )
    • 参数capped:默认值为false表示不设置上限,值为true表示设置上限
    • 参数size:集合所占用的字节数。 当capped值为true时,需要指定此参数,表示上限大小,当文档达到上限时, 会将之前的数据覆盖,单位为字节
  • 查看集合:show collections
  • 删除集合:db.集合名称.drop()
  • 检查集合是否设定上限: db.集合名.isCapped()

3.3 mongodb中常见的数据类型

3.3.1 常见类型

  • Object ID: 文档ID/数据的ID,数据的主键
  • String: 字符串,最常用,必须是有效的UTF-8
  • Boolean: 存储一个布尔值,true或false
  • Integer: 整数可以是32位或64位,这取决于服务器
  • Double: 浮点数
  • Arrays: 数组/列表
  • Object: mongodb中的一条数据/文档,即文档嵌套文档
  • Null: 存储null值
  • Timestamp: 时间戳,表示从1970-1-1到现在的总秒数
  • Date: 存储当前日期或时间的UNIX时间格式

3.3.2 注意点

  • 每个文档都有一个属性,为_id,保证每个文档的唯一性,mongodb默认使用_id作为主键
    image

  • 可以手动设置_id的值,如果没有提供,那么MongoDB为每个文档提供了一个独特的_id, 类型为objectID

  • objectID是一个12字节的十六进制数,每个字节两位,一共是24位的字符串:

    • 前4个字节为当前时间戳
    • 接下来3个字节的机器ID
    • 接下来的2个字节中MongoDB的服务进程id
    • 最后3个字节是简单的增量值
posted @ 2021-08-19 22:17  Fleeting__Time  阅读(111)  评论(0编辑  收藏  举报