我爱编程

mongodb常见shell操作

2018-05-11  本文已影响78人  2f1b6dfcc208
一、Ubuntu 17.10下安装与启动mongodb
//安装
sudo apt-get install mongodb
//启动
sudo service mongodb start
//查看是否启动mongodb
pgrep mongo -l 
//关闭
sudo service mongodb stop
//重启
sudo service mongodb restart
//删除
sudo apt-get purge mongodb 或 sudo apt-get purge --auto-remove mongodb
//查看版本
mongo --version
//连接
mongo

mongodb.conf默认在/etc目录下,可自定义配置

二、windows下配置mongodb
#数据存放目录
dbpath=E:/data/mongodb/db 

#日志存放文件
logpath=E:/data/mongodb/logs/mongod.log 

#以追加形式记录日志
logappend=true 

#绑定服务IP,若绑定127.0.0.1,则只能本机访问
bind_ip=127.0.0.1

#端口号
port=27017 

#启用验证
auth=true 

#过滤无用日志信息
quiet=true

#以后台方式运行进程,windows下无效
#fork=true

启动服务:

E:\mongodb\bin>mongod --config E:/mongodb/mongodb.conf

或注册为windows服务(需管理员权限):

E:\mongodb\bin>mongod --config E:/mongodb/mongodb.conf --serviceName "mongodb" --serviceDisplayName "mongodb" --install

net start mongodb  //启动服务
net stop mongodb  //停止服务
mongod --remove --serviceName "mongodb" //删除服务
三、基本shell命令

查询所有数据库:

show dbs

查看当前数据库:

db

创建/切换数据库:

use <dbName>

删除当前数据库:

db.dropDatabase()

查询当前数据库下所有集合:

show collections

创建集合:

db.createCollection(<collectionName>)

//创建固定大小的capped collections
db.createCollection(<collectionName>,{capped:true,size:100000})

删除集合:

db.<collectionName>.drop()

插入文档:

db.<collectionName>.insert(<document>)
// 如果该集合不存在,则mongodb会自动创建该集合并插入文档

删除文档:

db.<collectionName>.remove(<query>,<justOne>)
/*
参数说明:
  query:(可选),待删除文档的查询条件
  justOne:(可选),如果设为true或1,则只删除第一个文档
*/
db.<collectionName>.remove({})  //删除该集合下所有文档,建议使用db.<collectionName>.drop()方法代替该命令

更新文档:

//update方法用于更新已存在的文档
db.<collectionName>.update(<query>,<update>,<upsert>,<multi>)
/*
参数说明:
  query: 待更新文档的查询条件
  update: 用于更新的操作符和待更新的对象
  upsert: (可选,布尔类型),如果不存在update的记录,是否插入新的对象,默认值为false,不插入
  multi:(可选,布尔类型),是否更新多条记录,默认值为false,只更新第一条记录
*/
//save方法通过传入的文档来替换已有文档
db.<collectionName>.save(<document>)  //通过传入文档的_id来替换原_id文档

查询文档:

db.<collectionName>.find() //查询所有
db.<collectionName>.findOne() //查询第一条
db.<collectionName>.find(<query>) //按条件查询

启用验证:

//添加管理员账户
use admin
db.createUser({user:"admin",pwd:"123456",roles:[{role:"root",db:"admin"}]})
//用户验证
db.auth("admin","123456")
//查看系统用户列表
db.system.users.find()
//创建其它用户
db.createUser({user:"test",pwd:"123456",roles:[{role:"readWrite",db:"test"}]})
//删除用户
db.system.users.remove({user:"test"})
...
上一篇 下一篇

猜你喜欢

热点阅读