1、下载网址:https://www.mongodb.com/try/d…
2、解压
tar -zxvf mongodb-linux-x86_64-amazon2-6.0.4.tgz
3、寄存、配置
cd mongodb #进入文件夹
mkdir data
mkdir logs
# 改名
mv mongodb-linux-x86_64-amazon2-6.0.4.tgz mongodb
配置
vim /etc/profile
# mongodb配置
export MONGODB_HOME=/usr/local/mongodb
export PATH=$MONGODB_HOME/bin:$PATH
# 刷新
source ~/.bash_profile
4、增加 MongoDB 配置文件
vim /etc/mongodb.conf
#指定数据库门路
dbpath=/usr/local/mongodb/data
#指定MongoDB日志文件
logpath=/usr/local/mongodb/logs/mongodb.log
# 应用追加的形式写日志
logappend=true
#端口号
port=27017
#不便外网拜访,外网所有ip都能够拜访,不要写成固定的linux的ip
bind_ip=0.0.0.0
fork=true # 以守护过程的形式运行MongoDB,创立服务器过程
#auth=true #启用用户验证
#bind_ip=0.0.0.0 #绑定服务IP,若绑定127.0.0.1,则只能本机拜访,不指定则默认本地所有IP
5、启动、敞开mongodb
#启动 MongoDB(-conf 应用配置文件形式启动)
mongod -f /etc/mongodb.conf
#敞开 MongoDB(-conf 应用配置文件形式敞开 )
mongod --shutdown -f /etc/mongodb.conf
#查看过程
ps -ef | grep mongod
6、装置shell工具
因为高版本的mongodb去掉了自带的shell工具
https://www.mongodb.com/try/d…
tar -zxvf mongosh-1.6.2-linux-x64.tgz
#挪动文件
mv mongosh-1.6.2-linux-x64 /usr/local/mongosh
#无明码连贯
/usr/local/mongosh/bin/mongosh
#应用账号密码登录
/usr/local/mongosh/bin/mongosh -u root -p 123456
7、创立用户
use admin;
db.createUser({user: 'root', pwd: '123456', roles: [{role: 'root', db: 'admin'}]});
db.createUser({user: 'admin', pwd: '123456', roles: [{role: 'userAdminAnyDatabase', db: 'admin'}]});
Read:容许用户读取指定数据库
readWrite:容许用户读写指定数据库
dbAdmin:容许用户在指定数据库中执行治理函数,如索引创立、删除,查看统计或拜访system.profile
userAdmin:容许用户向system.users汇合写入,能够找指定数据库里创立、删除和治理用户
clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相干函数的管理权限。
readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
root:只在admin数据库中可用。超级账号,超级权限。
8、简略指令的应用
use test_user #创立数据库
db.myuser.insertOne({ name: 'tom', age:18 }) #插入数据
show dbs #显示数据库
show collections #显示汇合
db.myuser.find(); #查问
db.myuser.find().pretty();
db.myuser.find( { name: 'tom' } ); #依据条件查问
db.myuser.find( { age: 18} );
db.myuser.find().limit(2); #分页查问
db.myuser.find().skip(0).limit(2);
db.myuser.find().skip(2).limit(2);
db.myuser.find().sort({ age: 1 }); #正序查问
db.myuser.find().sort({ age: -1 }); #倒序查问
db.myuser.find().skip(2).limit(10).sort({age:1}); #查问数据之后排序
$gt #大于
$lt #小于
$gte #大于或等于
$lte #小于或等于
db.myuser.find({ age: {$lt: 18} }) #查问年龄小于18
db.myuser.find({ $or: [ {name: 'john'},{name: 'mary'} ] }); #或
db.myuser.find({ $and: [ {name: 'john'},{age: 20} ] }); #且
#正则查问
db.myuser.find({ name: {$regex: "mar[a-z]"} }); #查问名字中下一个字母是a-z的
db.myuser.find( {"name":{$regex:"(a)"}} ); #查问名字中蕴含字母a的。
db.myuser.find( {age:1} ).explain(true); #解释执行,类比MySQL的explain
db.myuser.getIndexes(); #查看索引
db.myuser.ensureIndex( {age:1} ) #增加索引
db.myuser.dropIndex( {age:1} ) #删除索引,应用正则查问 索引有效
db.myuser.ensureIndex( {userid:1},{unique:true} ) #创立惟一索引
#还能够执行如下语句插入
db.myuser.insert( {age: 29} );
db.myuser.insert( {name: 'james'} );
db.myuser.insert( {'location': '北京'} );
#批改数据
db.myuser.update({ age: 29 }, {$set: { age: 30 }});
db.myuser.update({ 'name': 'tom' }, { $set: { 'name': 'snail' } });
#删除数据
db.myuser.remove({ name: 'snail' }); #依据条件删除
db.myuser.remove( {} ) #删除所有数据
#删除汇合,类比mysql删除表
db.myuser.drop();
#删除数据库
db.dropDatabase();
#监控
db.serverStatus(); #查看所有的监控信息
db.serverStatus().network ; #独自查看网络流量信息
db.serverStatus().opcounters; #统计增、删、改、查的次数
db.serverStatus().connections; #连贯信息