MongoDB介绍
Mongodb是一个高性能、开源、无模式的文档型数据库,使用C++开发,是当前Nosql数据库产品中最热门的一种。这 里说到nosql数据库,就简单描述一下什么是nosql。nosql(not only sql非关系型数据库)的主要特点是非关系型的、分布式、开源的、水平扩展的。nosql的原始目的是为了大规模web应用,通常应用如模式自由、支持简单复制、简单的API、最终的一致性和大容量数据等。
nosql的主要解决三个需求:
MongoDB特点
它的特点是高性能、易部署、易使用,存储数据非常方便。主要功能特性有:
如下图形象的介绍下MongoDB和MySQL的区别
MongoDB适用场合
网站数据、缓存、大尺寸、低价值的数据,高伸缩型的场景,用于对象以及json数据的存储。
适用场景如下:
不适用场景如下:
Docker搭建Mongodb
docker pull mongo
docker run --name my-mongo1 -v /data/mongo_local_data:/data/db --rm -p 27017:27017 -d mongo --auth
docker exec -it 容器id /bin/bash
mongo
use admin
db.createUser({user:"root",pwd:"root",roles:[{role:'root',db:'admin'}]}) //创建用户,此用户创建成功,则后续操作都需要用户认证
exit
或者直接进入admin
docker exec -it ly-mongo mongo admin
db.createUser({user:"root",pwd:"root",roles:[{role:'root',db:'admin'}]}) //创建用户,此用户创建成功,则后续操作都需要用户认证
exit
mongo shell是MongoDB的交互式JavaScript接口。您可以使用mongo shell查询和更新数据以及执行管理操作。mongo shell作为MongoDB Server安装的一部分包含在内。
查看mongodb shell的执行路径。
/usr/local/mongodb/bin/
启动mongo
./mongod
mongo的shell
./mongo
查看mongo内存
db.serverStatus().mem
释放硬盘
db.repairDatabase()
删除集合
db.api_info_models.drop()
设置内存
use admin
db.adminCommand({setParameter: 1, internalQueryExecMaxBlockingSortBytes: 52428800})
增加索引
db.api_info_models.createIndex({"id":1})
db.monkey_info_models.createIndex({"create_time": -1});
db.monkey_info_models.getIndexes();