您的位置:首页 > 科技 > IT业 > 如何制作自己的个人网站_自动生成网页的工具_十大免费推广平台_成都关键词优化服务

如何制作自己的个人网站_自动生成网页的工具_十大免费推广平台_成都关键词优化服务

2025/3/18 9:29:01 来源:https://blog.csdn.net/m0_71332616/article/details/145943230  浏览:    关键词:如何制作自己的个人网站_自动生成网页的工具_十大免费推广平台_成都关键词优化服务
如何制作自己的个人网站_自动生成网页的工具_十大免费推广平台_成都关键词优化服务

目录

1 什么是MongoDB

1.1 MongoDB的特点

2 基本概念

3 安装与配置

4 MongoDB操作指令

连接与数据库操作

集合操作

文档操作

索引操作

聚合操作


1 什么是MongoDB

        MongoDB是一个基于分布式文件存储的开源数据库系统属于NOSQL(非关系型数据库)的范畴,它以高性能,高可扩展性和灵活的数据模型而受到广泛关注。

1.1 MongoDB的特点

1,灵活的数据模型:

        采用文档型数据模型,模型以BSON(二进制的json)文档形式存储,文档的结构可以动态变化,不同文档可以有不同的字段,这使得数据的存储和处理更加灵活。

2,高性能:

        支持高效的读写操作,通过内存映射文件和索引机制,能够快速处理大量数据。同时,MongoDB还支持水平扩展,可以通过分片将数据分布到多个服务器上,提高系统的处理能力。

3,高可扩展性:

        易于进行水平扩展,通过添加更多的服务器节点来处理不断增加的数据量和用户需求,支持副本集,提供数据的冗余和高可用性,当主节点出现故障时,副本集可以自动选举新的主节点。

4,丰富的查询功能:

        支持强大的查询语句,包括范围查询,正则表达式查询,地理空间查询,能够满足各种负责的查询需求。

2 基本概念

1,文档(Document)

        MongoDB 中数据的基本存储单元,类似于关系型数据库中的一行记录。文档由键值对组成,键是字符串,值可以是各种数据类型,如字符串、数字、数组、嵌套文档等。

2,集合(Collection)

        一组文档的集合,类似于关系型数据库中的表。集合中的文档可以有不同的结构,但通常具有相似的用途。

3,数据库(Database)

        多个集合的容器,一个 MongoDB 实例可以包含多个数据库,每个数据库可以包含多个集合。

3 安装与配置

        MongoDB 提供了不同操作系统的安装包,你可以从官方网站(Download MongoDB Community Server | MongoDB)下载适合你操作系统的版本,并按照安装向导进行安装,详细操作请查看MongoDB的安装配置教程(很详细,你想要的都在这里)_mongodb安装-CSDN博客

4 MongoDB操作指令

连接与数据库操作

1,连接到 MongoDB 服务器

在命令行中使用 mongosh(MongoDB 6.0 及以上版本)或 mongo(旧版本)连接到本地 MongoDB 服务器:

 mongosh  mongo(旧版本)

若要连接到远程服务器或指定端口,可以使用以下命令:

 mongosh "mongodb://<hostname>:<port>"

例如,连接到 192.168.1.100 服务器的 27017 端口:

 mongosh "mongodb://192.168.1.100:27017"

2,查看所有数据库

 show dbs

3,使用或切换数据库

如果指定的数据库不存在,MongoDB 会在你第一次向其中插入数据时创建它。

 use <database_name>

例如,使用名为 testdb 的数据库:

 use testdb

4,删除当前使用的数据库

 db.dropDatabase()

集合操作

1,查看当前数据库中的所有集合

 show collections

2,创建集合

可以使用 createCollection 方法显式创建集合,也可以在插入文档时自动创建集合。

 db.createCollection("users")

3,删除集合

db.<collection_name>.drop()

例如,删除 users 集合:

db.users.drop()

文档操作

1,插入文档

插入单个文档:

db.users.insertOne({"name": "John","age": 30,"email": "john@example.com"
})

插入多个文档:

db.users.insertMany([{"name": "Alice","age": 25,"email": "alice@example.com"},{"name": "Bob","age": 35,"email": "bob@example.com"}
])

2,查询文档

查询所有文档:

db.users.find()

根据条件查询文档:

db.users.find({ "age": { $gt: 25 } })

上述查询会返回 age 大于 25 的所有文档。

查询单个文档:

db.users.findOne({ "name": "John" })

3,更新文档

更新单个文档:

db.users.updateOne({ "name": "John" },{ $set: { "age": 31 } }
)

上述操作会将 nameJohn 的文档的 age 字段更新为 31。

更新多个文档:

db.users.updateMany({ "age": { $gt: 30 } },{ $set: { "isSenior": true } }
)

该操作会将所有 age 大于 30 的文档的 isSenior 字段设置为 true

4,删除文档

1,删除单个文档

db.users.deleteOne({ "name": "Bob" })

2,删除多个文档

db.users.deleteMany({ "age": { $lt: 20 } })

索引操作

1,创建索引

db.users.createIndex({ "name": 1 })

上述命令会在 users 集合的 name 字段上创建一个升序索引。

2,查看索引

db.users.getIndexes()

3,删除索引

db.users.dropIndex({ "name": 1 })

聚合操作

聚合操作可以对文档进行分组、统计等操作。以下是一个简单的聚合示例,统计每个年龄段的用户数量:

 db.users.aggregate([{$group: {_id: "$age",count: { $sum: 1 }}}])

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com