NoSQL学习二:MongoDB基本管理命令
2018-06-23 23:08:19来源:未知 阅读 ()
MongoDB命令学习
一、MongoDB命令帮助
在安装MongoDB后,启动服务器进程(mongod),可以通过在客户端命令mongo实现对MongoDB的管理和监控:
这是MongoDB最上层的命令列表,主要是管理数据库的:数据库操作帮助、集合操作帮助、管理帮助。如果想了解数据库操作更详细的命令,可以直接使用db.help(),如下所示:
二、基本命令
1、show dbs
2、use pagedb
3、show collections
4、db.serverStatus()
5、查询指定数据库统计信息
三、基本DDL和DML
3.1 数据库操作
- 切换、创建数据库
use yourDB
- 查询所有数据库
show dbs
- 删除当前使用数据库
db.dropDatabase()
- 从指定主机上克隆数据库
db.cloneDatabase("127.0.0.1")
- 从指定的机器复制数据库数据到某个数据库
db.copyDatabase("mydb","temp","127.0.0.1")
- 修复数据库
db.repairDatabase()
- 查看当前使用的数据库
db.getName
或db
- 显示当前数据库状态
db.stats()
- 当前db版本
db.version()
- 查看当前数据库机器地址
db.getMongo()
3.2 集合操作
- 创建集合
db.createCollection('collName',{size:20,capped:5,max:100})
创建成功会显示{"ok":1}
- 得到指定名称的集合
db.getCollection("account")
- 得到当前数据库所有集合
db.getCollectionNames()
- 得到当前数据库所有集合索引的状态
db.printCollectionStats()
3.3 用户相关
- 添加用户
db.addUser("name")
和db.addUser("userName","pwd123",true)
设置密码、是否只读 - 数据库认证
db.auth("userName","123123")
- 显示当前所用用户
show users
- 删除用户
db.removeUser("userName")
3.4 集合查询
- 查询所用记录
db.userInfo.find()
默认每页显示20条记录 - 查询去掉后的当前集合中的某列的重复数据
db.userInfo.disinct("name")
- 等于
db.userInfo.find({"gae":22})
查询age==22的集合 - 大于
db.userInfo.find({"age":{$gt:22}})
- 小于
db.userInfo.find({"age":{$lt:22}})
- 包含
db.userInfo.find({name:/mongo/})
- 开头
db.userInfo.find({name:/^mongo/})
- 查询指定列name、age
db.userInfo.find({},{name:1,age:1})
- 查询指定数据
db.userInfo.find({age:{$gt25}},{name:1,age:1})
- 升序
db.userInfo.find().sort({age:1})
- 降序 db.userInfo.find().sort({age:-1})
- 查询前5条数据
db.userInfo.find().limit(5)
- 查询10条以后的数据
db.userInfo.find().skip(10)
- 查询5-10条数据
db.userInfo.find().limit(10).skip(5)
- 与查询
db.userInfo.find({$or:[{age:22},{age:25}]})
- 查询第一条数据
db.userInfo.findOne()
- 查询集合的条数
db.userInfo.find().count()
- 按某列进行排序
db..find({sex:{$exists:true}}).count()
- group db.userInfo.group({"key": {"age": true},"initial": {"user": []},reduce": function(cur,prev){prev.user.push(cur.name);}
参数选项:1.key: 这个就是分组的key 2.initial: 每组都分享一个初始化函数,特别注意:是每一组initial函数。 3.reduce: 这个函数的第一个参数是当前的文档对象,第二个参数是上一次function操作的累计对象。有多少个文档, $reduce就会调用多少次。 4.condition: 这个就是过滤条件。 5.finalize: 这是个函数,每一组文档执行完后,多会触发此方法。
3.5 索引
- 添加索引 db.users.ensureIndex({"name":1}) ensureIndex方法参数中,数字1表示升序,-1表示降序。
- 唯一索引 db.users.ensureIndex({"name":1},{"unique":true})
- 组合索引 db.users.ensureIndex({"name":1, "age":-1})
- 查看索引 db.users.getIndexes()
- 查询索引 db.users.find({"name":"k"}).hint({"name":1,"age":1})
- 删除索引 db.users.dropIndexes()
- 删除指定索引 db.users.dropIndex("name_1")
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 转行Web前端工程师要掌握的学习知识汇总 2020-06-10
- 毕业生想学习web前端开发,有什么好的发展方向吗? 2020-06-09
- 转行前端很迷茫,该怎么学习? 2020-06-06
- 前端学习记录 2020-06-05
- 前端如何学习? 2020-06-04
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash