MongoDB数据库入门教程:从安装到操作实践
"MongoDB数据库教程" MongoDB是一个流行的开源、分布式文档型数据库,以其灵活性、高性能和易扩展性而受到广泛使用。这篇教程是作者在学习MongoDB过程中的笔记,旨在帮助初学者理解和掌握MongoDB的基本操作和概念。 1. MongoDB安装与配置 MongoDB的数据存储位置通常设置在"C:\MongoDB\DATA"这样的目录下,启动数据库服务可以通过运行"C:\MongoDB\bin\mongod.exe --dbpath C:\MongoDB\DATA"命令。默认情况下,MongoDB监听27017端口进行通信。 2. MongoDB命令行工具 在命令行中,可以输入"mongod --help"获取帮助信息。通过指定"--dbpath"参数,可以改变数据存储的位置。如果希望MongoDB在后台运行,可以添加"--fork"选项。 3. 连接MongoDB 要连接到MongoDB服务器,可以使用"mongo"命令,例如连接到本地27017端口的服务器。在MongoDB shell中,可以使用"show dbs"查看所有数据库,"use <database>"切换到特定数据库,"db.collection.insert()"插入文档,"db.collection.findOne()"查询单个文档。 4. 数据操作 MongoDB中的数据是以JSON格式的文档存储在集合(collections)中,集合属于数据库。"db.collection.update()"用于更新文档,可以设置条件和修改方式。"$set"用于设置字段的值,"$inc"可以用于递增字段。"db.collection.remove()"用于删除文档,"db.collection.drop()"则会删除整个集合。 5. 查询与索引 使用"db.collection.find()"执行查询操作,可以配合条件筛选出特定文档。"db.system.indexes.find()"显示数据库的索引信息。创建索引可以提高查询效率,如"db.collection.createIndex({field: 1})"创建升序索引。 6. 数据安全 MongoDB提供用户认证和权限管理,可以通过"mongo" shell连接到管理员数据库(如"admin"),创建和管理用户。例如,"db.createUser()"可以创建新用户,赋予特定的数据库访问权限。 7. 分片与复制集 高可用性和可扩展性是MongoDB的重要特性。通过分片(sharding)可以水平扩展数据存储,复制集(replica sets)则提供了数据冗余和故障恢复能力。设置和管理这些高级功能需要深入理解MongoDB的架构和配置。 8. 性能监控与日志 MongoDB提供了丰富的监控工具,如 mongostat 和 mongotop,用于实时查看数据库的状态和性能。日志文件默认位于安装目录的日志子目录下,通过调整配置可以自定义日志级别和位置。 这个教程涵盖了MongoDB的基础知识,包括安装、配置、数据操作、查询、安全性以及基本的性能管理和扩展性概念。对于初学者来说,它是一个很好的起点,可以逐步熟悉MongoDB的使用和管理。同时,建议读者结合官方文档和其他在线资源,深入学习MongoDB的高级特性,以便在实际项目中更好地利用MongoDB的优势。
创建文件夹 C:\MongoDBDATA 存放安装后的文件(即数据库)
2. 安装数据库 cmd --> C:\MongoDB\bin>mongod.exe --dbpath C:\MongoDBDATA
3. 安装好后 默认端口好:28017
4. 配置环境变量 path ;C:\MongoDB\bin
验证是否配置成功:cmd --> mongod -help
5. 启动 数据库 cmd --> mongod -dbpath C:\MongoDBDATA
数据库服务端口:27017
Web 服务端口:28017 ???
6. 查看启动配置项 mongod --help 的翻译 网址
http://www.uspcat.com/forum.php?mod=viewthread&tid=7722&extra=pate%3D1
7. 启动客户端 shall
必须先启动数据库服务:cmd --> mongod -dbpath C:\MongoDBDATA 且不关闭窗口
cmd --> mongo 127.0.0.1:27017/admin 默认是test登陆,我们使用的是admin登陆,这样权限会大一点
8. 创建数据库
use foobar 创建数据库(但是你什么也不干就离开的话这个空数据库就会被删除)
db.persons.insert({name:"uspcat"}) 添加一个persions集合(表),并添加一个记录
show dbs 查看所有数据库
show collections 查看数据库的所有文档(表)
db.system.indexes.find()查询索引
db.persions.findOne() 查询表的所有数据
db.persions.insert({name:"luyang4.0"})
db.persions.update({name:"luyang4.0"},{$set:{name:"luyang4.1"}}) 修改数据value,这种方式不能修改key
-- var p = db.persions.findOne() 定义变量 p
p 输出 p
db.persions.update(p,{name:"uspcat2"}) 修改数据value
db.persions.update(p,{age:1}) 修改数据key 和 value
-- db.persions.find()
db.persions.update({name2:"luyang4.1"},{$set:{age:1,name:"luyang4.0",name2:"luyang4.1"}})
下载后可阅读完整内容,剩余2页未读,立即下载
- 粉丝: 3
- 资源: 10
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 李兴华Java基础教程:从入门到精通
- U盘与硬盘启动安装教程:从菜鸟到专家
- C++面试宝典:动态内存管理与继承解析
- C++ STL源码深度解析:专家级剖析与关键技术
- C/C++调用DOS命令实战指南
- 神经网络补偿的多传感器航迹融合技术
- GIS中的大地坐标系与椭球体解析
- 海思Hi3515 H.264编解码处理器用户手册
- Oracle基础练习题与解答
- 谷歌地球3D建筑筛选新流程详解
- CFO与CIO携手:数据管理与企业增值的战略
- Eclipse IDE基础教程:从入门到精通
- Shell脚本专家宝典:全面学习与资源指南
- Tomcat安装指南:附带JDK配置步骤
- NA3003A电子水准仪数据格式解析与转换研究
- 自动化专业英语词汇精华:必备术语集锦