本文已参与[新人创作礼]活动,一起开启掘金创作之路。
@[toc] 下载地址:链接:link
MongoDB业务应用场景
- 对数据库高并发读写的需求。
- 对海量数据的高效率存储和访问的需求。
- 对数据库的高可扩展性和高可用性的需求。
什么时候选择MongoDB数据库
- 应用不需要事务及复杂join支持
- 新应用,需求会变,数据模型无法确定,想快速迭代开发
- 应用需要2000-3000以上的读写QPS
- 应用需要TB甚至PB级别数据存储
- 应用发展迅速,需要快速水平扩展
- 应用要求存储的数据不丢失
- 应用需要99.999%高可用
- 应用需要大量的地理位置查询,文本查询
如果上述有1个符合,可以考虑MongoDB,2个及以上的符合,选择MongoDB绝不后悔。
MongoDB简介
MongoDB是一个开源,高性能,无模式的文档型数据库。 MongoDB文档类似于JSON对象,即一个文档认为就是一个对象。字段的数据类型是字符型,他的值除了使用基本的一些类型外,还可以包括其他文档,普通数组和文档数组。
MongoDB启动命令
命令行启动 mongod --dbpath=数据存放的地址
mongod --dbpath=../data/db
配置文件启动
mongod -f ../config/mongod.conf
或
mongod --config ../config/mongod.conf
默认端口号是:27017
Shell连接(mongo命令)
mongo --host=localhost --port=27017 或者 mongo
D:\Program Files\MongoDB\mongodb-win32-x86_64-windows-4.4.6\bin>mongo
MongoDB shell version v4.4.6
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("ea1368df-f18e-4873-8557-d296f1781b23") }
MongoDB server version: 4.4.6
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
https://docs.mongodb.com/
Questions? Try the MongoDB Developer Community Forums
https://community.mongodb.com
默认的三个库: admin:从权限的角度来看,这是‘root’数据库。要是将一个用户添加到这个数据库,这个用户自动继承所有数据库的权限。有些特定的服务器命令也只能从这个数据库运行,比如列出所有的数据库或者关闭服务器。 local:这个数据永远不会被复制,可以用来存储限于本地单台服务器的任意集合 config:当Mongo用于分片设置时,config数据库在内部使用,用于保存分片的相关信息
创建一个数据库
use articledb
删除数据库
db.dropDatebase()
创建一个集合
db.createCollection("my")
查看集合
show collections
删除集合
db.my.drop()
文档基本CRUD
文档(document)的数据结构和json基本一样 所有存储在集合中的数据都是BSON格式