MongoDB中文学习入门教程(包括安装配置和增删改查)
(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun)
1. MongoDB简介
MongoDB是一种面向文档的无结构化数据库系统,能够存储和处理大规模的半结构化和无结构化数据。它在NoSQL数据库中属于最常用的一种。与传统的关系型数据库不同,MongoDB不需要事先定义数据的结构,可以减少数据建模的复杂性。MongoDB使用JSON
格式的文档存储数据,这使得它非常适合存储动态数据和大数据量的数据。 MongoDB是完全免费的,在开源社区上广受欢迎。
1.1 MongoDB的数据结构
在MongoDB中,数据存储在文档(Document
)中,一个文档可以看作是一个键值对的集合。每个键值对称为一个字段(field),一个文档可以包含不同数量和类型的字段。MongoDB的文档格式为BSON
,它是JSON
的一种二进制形式,能够更高效地进行解析和传输。下面是一个简单的MongoDB文档示例:
{ "_id": ObjectId("5cf39d0b7ad3cd1de5c1dd0a"), "name": "张三", "age": 25, "address": { "city": "北京", "street": "朝阳区" } }
在这个文档中,_id
是MongoDB自动生成的唯一标识符,name
和age
是字段名,它们的值分别为"张三"和25,address
是一个子文档,包含了city
和street
两个字段。
1.2 MongoDB的优点
相对于传统的关系型数据库,MongoDB具有以下优点:
灵活性:MongoDB不需要事先定义数据模式,数据模式可以动态改变。
可扩展性:MongoDB支持分布式部署,可以在多个节点之间复制数据。
高性能:MongoDB使用BSON
格式存储数据,能够更高效地进行读取和写入。
易部署:MongoDB的安装和配置非常简单,只需要下载并解压缩,不需要进行复杂的设置。
2. MongoDB的安装和配置
2.1 下载MongoDB
在安装MongoDB之前,首先需要从官方网站下载MongoDB的安装包。
下载页面地址:https://www.mongodb.com/download-center/community
在下载页面中,选择对应的操作系统和版本,然后下载并解压缩安装包。
2.2 配置MongoDB
在下载并解压缩MongoDB安装包后,我们需要对MongoDB进行配置。
MongoDB的配置文件为mongod.cfg
,该文件默认位于MongoDB的安装目录下。我们可以修改该文件的一些配置选项来调整MongoDB的运行方式。
其中一些常见的选项包括:
dbpath
:MongoDB数据存储路径。
logpath
:MongoDB日志文件路径。
port
:MongoDB服务监听的端口号。
这里以dbpath
为例,修改MongoDB的数据存储路径。
打开mongod.cfg
文件,找到storage
配置项,加入以下内容:
storage: dbPath: /data/db
其中/data/db
为指定的数据存储路径。
保存该文件后,我们可以启动MongoDB服务。
2.3 启动MongoDB服务
启动MongoDB服务的方法有两种:
使用命令行启动
使用Windows服务启动
这里我们以命令行方式启动MongoDB服务。
进入MongoDB安装目录的bin
子目录,执行以下命令:
./mongod
此时,MongoDB服务就已经启动了。
可以使用以下命令检查MongoDB服务是否启动:
./mongo
如果出现下面的信息,则说明MongoDB服务已经成功启动:
MongoDB shell version v4.0.0 connecting to: mongodb://127.0.0.1:27017 MongoDB server version: v4.0.0
3. MongoDB的基本操作
3.1 插入文档
我们可以使用insertOne()
方法来向MongoDB数据库中插入一个文档:
db.collection('users').insertOne({ name: '张三', age: 25, address: { city: '北京', street: '朝阳区' } });
其中collection()
方法用于指定要操作的集合(类似于关系型数据库中的表),insertOne()
方法用于插入一个文档。
3.2 查询文档
我们可以使用find()
方法来查询MongoDB数据库中的文档:
db.collection('users').find({ age: {'$gte': 18} });
其中find()
方法用于查询文档,age: {'$gte': 18}
表示查询年龄大于或等于18岁的文档。查询结果将会得到一个光标(Cursor),我们可以通过forEach()
方法遍历光标并输出查询结果:
db.collection('users').find({ age: {'$gte': 18} }).forEach((doc) => { console.log(doc); });
3.3 更新文档
我们可以使用updateOne()
方法来更新一个文档:
db.collection('users').updateOne({ name: '张三' }, { $set: {age: 26} });
其中updateOne()
方法用于更新文档,第一个参数表示要更新的文档,第二个参数表示要更新的字段和值,$set
为更新操作符。
3.4 删除文档
我们可以使用deleteOne()
方法来删除一个文档:
db.collection('users').deleteOne({ name: '张三' });
其中deleteOne()
方法用于删除文档,参数表示要删除的文档。
4. 总结
本文主要介绍了MongoDB的基本知识和操作。MongoDB是一种面向文档的无结构化数据库系统,具有灵活性、可扩展性和高性能等优点。安装和配置MongoDB也非常简单,使用MongoDB的API进行操作也非常方便。在实际使用中,MongoDB可以作为常规数据存储或NoSQL解决方案的替代品,应用广泛。
到此这篇关于MongoDB中文学习入门教程(包括安装配置和增删改查)的文章就介绍到这了,更多相关MongoDB入门学习教程内容请搜索程序员之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持程序员之家!
相关文章
MongoDB使用mongoexport和mongoimport命令,批量导出和导入JSON数据到同一张表的实例
今天小编就为大家分享一篇关于MongoDB使用mongoexport和mongoimport命令,批量导出和导入JSON数据到同一张表的实例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧2018-10-10mongodb 数据类型(null/字符串/数字/日期/内嵌文档/数组等)
MongoDB的文档类似于JSON,JSON只是一种简单的表示数据的方式,只包含了6种数据类型(null、布尔、数字、字符串、数组及对象),需要的朋友可以参考下2017-04-04详解Mongodb?多文档聚合操作处理方法(Map-reduce?函数)
这篇文章主要介绍了Mongodb多文档聚合操作处理方法(Map-reduce函数),本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2023-07-07springboot整合mongodb?changestream的示例代码
Chang?Stream(变更记录流)?是指collection(数据库集合)的变更事件流,应用程序通过db.collection.watch()这样的命令可以获得被监听对象的实时变更,本文给大家介绍springboot整合mongodb?changestream的示例代码,感兴趣的朋友一起看看吧2022-02-02MongoDB中强大的统计框架Aggregation使用实例解析
这篇文章主要介绍了MongoDB中强大的统计框架Aggregation使用实例解析,文中举了Python和Java使用Aggregation的数据统计例子进行讲解,需要的朋友可以参考下2016-01-01
最新评论