Mongodb日常使用命令

本文涉及的产品
云数据库 MongoDB,通用型 2核4GB
简介: mongodb,权限

1,连接

# mongo 192.168.0.214:27017
# mongodb://admin:123456@localhost/test                                                                   #admin用户用密码123456登录到test库
# mongodb://admin:123456@localhost:27017,localhost:27018,localhost:27019             #连接到三个副本集的服务器
# mongodb://admin:123456@host1,host2,host3/?slaveOk=true                              #连接到三个副本集的服务器,写入操作在主库,查询分布到从库
# mongodb://host1,host2,host3/?safe=true;w=2;wtimeoutMS=2000                    #以安全模式连接到replica set,并且等待至少两个复制服务器成功写入,超时时间设置为2秒

2,创建用户,修改权限

>db.createUser({user: "test",pwd: "123456",roles: [ { role: "dbOwner", db: "coinsuper_whitebox" }]})      #最常用的这条,dbowner可以在自己的库里做任意操作
>db.createUser({user:"usertest",pwd:"passtest",roles:[  {role:"clusterAdmin", db:"admin" }, {role:"readAnyDatabase",db:"admin" }, {role:"readWrite",db:"testDB" } ]})
>db.updateUser("usertest",{roles:[ {role:"read",db:"coinsuper_whitebox"} ]})                     #修改为只读权限

> use coinsuper_whitebox
>db.addUser("test2","123456")                            #配置读写用户
>db.addUser("test2","123456",true)                #配置只读用户

3,创建集合:

> use coinsuper_whitebox
>show collections
>db.auth("test","123456")
>db.tt.insert({_id:1,name:"test"})                      #这样会自动创建集合
>db.createCollection("Account")                        #也可以这样创建集合
>db.createCollection("Test",{capped:true, size:10000}) { "ok" : 1 }
size:在建表之初就指定一定的空间大小,接下来的插入操作会不断地按顺序APPEND数据在这个预分配好空间的文件中,如果已经超出空间大小,则回到文件头覆盖原来的数据继续插入。这种结构保证了插入和查询的高效性,它不允许删除单个记录,更新的也有限制:不能超过原有记录的大小。这种表效率很高,它适用于一些暂时保存数据的场合,比如网站中登录用户的session信息,又比如一些程序的监控日志,都是属于过了一定的时间就可以被覆盖的数据。
capped:true,表示该集合的结构不能被修改;

4,修改表名

> db.Account.renameCollection("Account1")
>db.Account.help()                       #查看帮助

5,查询

> db.Account.findOne()                #查一条记录
> DBQuery.shellBatchSize = 100               #设置每页显示100条记录,默认为20条,输入it可以显示下一页。
> db.Account.distinct("UserName")                                          #查询聚集中字段的不同记录
> db.Account.find({"UserName":/^keyword/})                        #查询聚集中UserName以"keyword" 开头的记录
> db.Account.find({},{"UserName":1,"Email":1})                #查询username和email两列
> db.Account.find({},{"UserName":0})                                 #查询聚集中排除指定列
> db.Account.find({"Age":{"$gt":20}},{"UserName":1})        #select username where age>20
> db.Account.find().sort({"UserName":1})                             #username:1表示升序排列,username:-1 表示将序排列
> db.Account.find().count()
> db.Account.find({"Age":{"$gt":20}}).count()                    #统计age大于20的记录有多少
> db.Account.find({"UserName":{"$exists":true}}).count()         #select count(UserName)
> db.Account.find().skip(10).limit(5)                                                    #查询集合中第10条记录以后的5条记录

6,修改

> db.Account.insert({AccountID:2,UserName:"lb",Password:"1",Age:25,Email:"libing@163.com",RegisterDate:"2011-06-09 16:36:95"})           #添加新记录
> db.Account.update({"AccountID":1},{"$set":{"Age":27,"Email":"libingql@163.com"}})                 #修改记录
> db.Account.update({"AccountID":1},{"$inc":{"Age":1}})           
> db.Account.remove({"UserName":"libing"})
> db.Account.remove({"Age":{$lt:20}})
> db.Account.remove()                      #全部删除

7,删除

>db.dropuser('test')     
>use coinsuper_whitebox
>db.dropDatabase()
相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
目录
相关文章
|
3月前
|
存储 JSON NoSQL
3-MongoDB常用命令
MongoDB常用命令
108 2
|
5月前
|
NoSQL 数据可视化 关系型数据库
mongoDB入门教程三:数据库的创建和删除(增删改查)基本命令
mongoDB入门教程三:数据库的创建和删除(增删改查)基本命令
130 0
|
5月前
|
存储 JSON NoSQL
数据库系列课程(22)-MongoDB 常用命令
数据库系列课程(22)-MongoDB 常用命令
203 0
|
SQL NoSQL MongoDB
MongoDB---基本命令
MongoDB---基本命令
MongoDB---基本命令
|
11天前
|
JSON NoSQL MongoDB
mongodb 命令行连接及基础命令
mongodb 命令行连接及基础命令
|
3月前
|
存储 JSON NoSQL
3-MongoDB常用命令
#3-MongoDB常用命令
|
4月前
|
NoSQL MongoDB 数据库
MongoDB 命令
MongoDB 命令
|
8月前
|
存储 NoSQL MongoDB
MongoDB常用命令(2)
1、创建数据库
472 0
|
8月前
|
NoSQL 关系型数据库 MySQL
【Docker】Docker安装MongoDB最新版并连接使用附加docker常用命令
【Docker】Docker安装MongoDB最新版并连接使用附加docker常用命令
452 0