Mongodb日常使用命令

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介: 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
目录
相关文章
|
6月前
|
存储 JSON NoSQL
3-MongoDB常用命令
MongoDB常用命令
164 2
|
NoSQL 数据可视化 关系型数据库
mongoDB入门教程三:数据库的创建和删除(增删改查)基本命令
mongoDB入门教程三:数据库的创建和删除(增删改查)基本命令
197 0
|
存储 JSON NoSQL
数据库系列课程(22)-MongoDB 常用命令
数据库系列课程(22)-MongoDB 常用命令
287 0
|
16天前
|
存储 JSON NoSQL
MongoDB常用命令
MongoDB常用命令
23 1
MongoDB常用命令
|
1月前
|
NoSQL MongoDB 数据库
MongoDB是一个NoSQL数据库,有着多种不同的命令和操作。以下是一些常见的MongoDB命令:
一些常用的MongoDB命令,如数据库和集合的管理、数据的插入、查询、更新、删除以及聚合操作等。
25 1
|
2月前
|
SQL NoSQL 安全
MongoDB命令汇总
这篇文章提供了一个MongoDB命令的汇总,包括数据库操作、DDL和DML命令、安全管理、数据备份恢复、远程连接管理和聚合操作等。
35 2
|
3月前
|
存储 JSON NoSQL
3-MongoDB常用命令
本文档介绍MongoDB中关于文章评论数据的操作命令。首先定义了一个名为`articledb`的数据库及评论数据结构,包括评论ID、文章ID、内容、用户ID、昵称、创建时间、点赞数、状态等字段。随后详细讲解了数据库与集合的创建、选择、删除等基础操作,并提供了具体示例。此外,还介绍了文档的增删改查等基本CRUD操作,包括单个文档和批量文档的插入、查询、更新和删除的方法及参数说明。文档进一步解释了如何进行投影查询、批量更新以及使用`$inc`运算符来增量更新数值字段。最后,讲解了如何进行分页查询和排序操作,帮助用户高效管理大量评论数据。
|
4月前
|
JSON NoSQL 关系型数据库
MongoDB常用命令大全,概述、备份恢复
MongoDB常用命令大全:服务启动停止、查看状态、备份;数据库相关,集合操作,文档操作,其他常用命令;数据备份恢复/导入导出——mongodump、mongorestore;MongoDB与SQL比较
|
4月前
|
JSON NoSQL MongoDB
mongodb 系统命令总结
mongodb 系统命令总结
37 0
|
4月前
|
存储 NoSQL 关系型数据库
MongoDB基本命令
MongoDB基本命令
61 0
下一篇
无影云桌面