### MongoDB常用操作命令详解 #### 一、启动与配置MongoDB服务 在开始介绍具体的数据库操作之前,我们先了解如何启动和配置MongoDB服务。以下是一些常用的命令: 1. **启动MongoDB服务(默认数据目录)** ```bash c:\mongodb-win32-1.8.1\bin>mongod --dbpath "c:\data\db" ``` 这条命令用于启动MongoDB服务,并指定数据存储路径为`c:\data\db`。 2. **安装MongoDB服务(自定义日志文件和服务名称)** ```bash c:\mongodb-win32-1.8.1\bin>mongod --dbpath "c:\data" --logpath "c:\data\logs.txt" --install --serviceName "MongoDB" ``` 使用这条命令可以将MongoDB作为Windows服务安装,并指定日志文件路径以及服务名称。 3. **启动MongoDB服务** ```bash net start "MongoDB" ``` 该命令用于启动已安装的服务“MongoDB”。 4. **通过Web界面访问MongoDB** ```bash start http://localhost:28017# ``` 此命令可以通过浏览器访问MongoDB的Web管理界面。 5. **卸载MongoDB服务** ```bash mongod --remove --serviceName "MongoDB" ``` 该命令用于卸载名为“MongoDB”的服务。 #### 二、基本数据库操作 接下来介绍MongoDB中的一些基本数据库操作,包括用户管理、数据库管理等。 1. **切换数据库** ```bash use admin ``` 切换到admin数据库。 2. **创建用户** ```bash db.createUser( { user:"yqtw", pwd:"yqtw.2017", roles:[{role:"readWrite",db:"yqtw"}] } ) ``` 在当前数据库中创建一个用户名为`yqtw`、密码为`yqtw.2017`的用户,其权限为对数据库`yqtw`进行读写操作。 3. **查询用户信息** ```bash db.system.users.find() ``` 查询当前数据库中的所有用户信息。 4. **用户身份验证** ```bash db.auth('name','pwd') ``` 对当前数据库进行身份验证,参数分别为用户名和密码。 5. **删除用户** ```bash db.removeUser('name') ``` 删除用户名为`name`的用户。 6. **显示所有用户** ```bash show users ``` 显示当前数据库中的所有用户。 7. **显示所有数据库** ```bash show dbs ``` 列出系统中存在的所有数据库。 8. **显示集合列表** ```bash show collections ``` 显示当前数据库中的所有集合。 9. **显示集合统计信息** ```bash db.printCollectionStats() ``` 显示当前数据库中所有集合的统计信息。 10. **显示复制状态** ```bash db.printReplicationInfo() ``` 显示当前数据库的复制状态。 11. **修复数据库** ```bash db.repairDatabase() ``` 对当前数据库进行修复操作。 12. **设置Profiling级别** ```bash db.setProfilingLevel(1) ``` 设置Profiling级别,其中0表示关闭Profiling,1表示仅记录慢查询,2表示记录所有查询。 13. **显示Profiling信息** ```bash show profile ``` 显示当前数据库的Profiling信息。 14. **复制数据库** ```bash db.copyDatabase('mail_addr','mail_addr_tmp') ``` 复制名为`mail_addr`的数据库到名为`mail_addr_tmp`的新数据库中。 15. **删除集合** ```bash db.mail_addr.drop() ``` 删除名为`mail_addr`的集合。 16. **删除数据库** ```bash db.dropDatabase() ``` 删除当前数据库。 #### 三、数据操作 我们来看一下MongoDB中的数据操作,包括插入、更新、删除数据等。 1. **插入文档** ```bash db.foo.save({'name':'ysz','address':{'city':'beijing','post':100096},'phone':[138,139]}) ``` 向集合`foo`中插入一条文档。 2. **插入文档** ```bash db.user_addr.save({'Uid':'[email protected]','Al':['[email protected]','[email protected]']}) ``` 向集合`user_addr`中插入一条文档。 3. **更新文档** ```bash db.foo.update({'yy':5},{'$set':{'xx':2}},upsert=true,multi=true) ``` 更新集合`foo`中`yy`字段值为5的所有文档的`xx`字段为2。 4. **删除文档** ```bash db.foo.remove({'yy':5}) ``` 删除集合`foo`中`yy`字段值为5的所有文档。 5. **删除所有文档** ```bash db.foo.remove() ``` 删除集合`foo`中的所有文档。 6. **索引操作** - 创建索引 ```bash db.foo.ensureIndex({firstname:1,lastname:1},{unique:true}); ``` 为集合`foo`创建一个复合唯一索引。 - 创建索引 ```bash db.user_addr.ensureIndex({'Al.Em':1}) ``` 为集合`user_addr`中的嵌套字段创建索引。 - 显示索引信息 ```bash db.foo.getIndexes() db.foo.getIndexKeys() ``` 显示集合`foo`的所有索引信息及其键。 - 删除索引 ```bash db.user_addr.dropIndex('Al.Em_1') ``` 删除集合`user_addr`中的名为`Al.Em_1`的索引。 7. **查询操作** - 查询所有文档 ```bash db.foo.find() ``` 查询集合`foo`中的所有文档。 - 查询单个文档 ```bash db.foo.findOne() ``` 查询集合`foo`中的第一条文档。 - 查询并限制结果数量 ```bash db.foo.find({'msg':'Hello1'}).limit(10) ``` 查询集合`foo`中`msg`字段值为`Hello1`的前10条文档。 - 排序查询 ```bash db.deliver_status.find({'From':'[email protected]'}).sort({'Dt',-1}) ``` 按照`Dt`字段降序排序查询集合`deliver_status`中`From`字段值为`[email protected]`的所有文档。 - 计数 ```bash db.user_addr.count() ``` 统计集合`user_addr`中的文档总数。 - 查询去重后的字段值 ```bash db.foo.distinct('msg') ``` 查询集合`foo`中`msg`字段的所有不同值。 - 条件查询 ```bash db.foo.find({"timestamp":{"$gte":2}}) ``` 查询集合`foo`中`timestamp`字段大于等于2的所有文档。 - 嵌套字段查询 ```bash db.foo.find({'address.city':'beijing'}) ``` 查询集合`foo`中`address.city`字段值为`beijing`的所有文档。 以上就是关于MongoDB常用操作命令的详细介绍,涵盖了启动配置、基本数据库操作及数据操作等方面的内容。希望这些信息能帮助您更好地理解和使用MongoDB。
























- 粉丝: 2w+
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 最新网络文明传播主题活动方案-网络文明传播活动总结(五篇).docx
- 2019年网络公司秋季工作总结.doc
- Oracle企业资产管理.ppt
- 宝贝数据监控系统Excel模板.xlsx
- 微三云区块链5大产品方案解析.doc
- 七年英语下册Unit5WhydoyoulikepandasPeriod4SectionB习题课件人教.ppt
- 大数据可视化发展演变与应用实例(综合版).pptx
- 数据库备份与恢复综合.ppt
- 二氧化碳系统安全管理规定.docx
- 高级语言程序设计-十六进制整数向其他进制整数转换的算法实现.docx
- 算法设计方案与分析态规划实验.doc
- 单片机控制步进电机论文致谢.doc
- 速途研究分析院:国内团购网站移动端交易占比超%.docx
- Rclone自动化安装与配置工具集-跨平台支持Windows和Linux系统自动下载最新版本Rclone引导用户配置多种云存储平台包括GoogleDriveOneDriveDrop - 副本.zip
- 九年英语全册Unit1HowcanwebeegoodlearnersSectionA3a-3b作业设.docx
- plc电梯控制系统设计-毕业论文.doc


