📜  MongoDB –数据库,集合和文档(1)

📅  最后修改于: 2023-12-03 14:44:22.059000             🧑  作者: Mango

MongoDB – 数据库,集合和文档

介绍

MongoDB 是一个开源的 NoSQL 数据库管理系统,支持文档数据库模型。MongoDB 基于分布式文件存储设计,具备高性能、高可用性、高扩展性等特点,被广泛应用于 Web 开发、大数据、云计算等领域。

在 MongoDB 中,数据存储单位分别为 数据库(Database)、集合(Collection)和文档(Document),下面将分别介绍。

数据库

数据库是 MongoDB 中的最高级别的数据存储单位。在 MongoDB 中,一个数据库实例可以包含多个独立的数据库,每个数据库都有各自的权限和集合。创建数据库的方法如下:

> use mydb
switched to db mydb

这样,我们就创建了一个名为 mydb 的数据库。

在 MongoDB 中,我们可以使用 show dbs 命令查看所有的数据库,使用 use dbname 命令切换数据库。

集合

集合是 MongoDB 中的数据存储单位,类似于关系数据库中的表。每个集合都有一个唯一的名称,并且包含多个文档,这些文档具有不同的字段和值。

在 MongoDB 中,我们可以使用 db.createCollection(name, options) 命令创建一个集合,其中 name 参数指定集合名称,options 参数为可选,用于设置集合的一些属性。例如,创建一个名为 users 的集合,可以使用以下命令:

> db.createCollection("users")
{ "ok" : 1 }

在 MongoDB 中,我们可以使用 show collections 命令查看当前数据库中所有的集合。

文档

文档是 MongoDB 中最小的数据存储单位,类似于关系数据库中的行。文档采用 BSON(Binary-JSON)格式保存,可以方便地存储多种类型的数据。

在 MongoDB 中,文档是以键值对的形式存储的。例如,以下是一个保存员工信息的文档:

{
    "name": "张三",
    "age": 30,
    "sex": "男",
    "department": "技术部",
    "salary": 8000
}

可以使用以下命令将文档插入到集合中:

> db.users.insert({
    "name": "张三",
    "age": 30,
    "sex": "男",
    "department": "技术部",
    "salary": 8000
})
WriteResult({ "nInserted" : 1 })

在 MongoDB 中,我们可以使用 db.collection.find(query, projection) 命令查询集合中的文档,其中 query 参数为查询条件,projection 参数为一个文档,用于控制查询结果的输出。例如,以下命令用于查询所有员工信息:

> db.users.find()
{ "_id" : ObjectId("60d7aec81a19ad267c40f681"), "name" : "张三", "age" : 30, "sex" : "男", "department" : "技术部", "salary" : 8000 }
总结

MongoDB 是一个开源的 NoSQL 数据库管理系统,支持文档数据库模型。在 MongoDB 中,数据存储单位分别为数据库、集合和文档。通过本文介绍,我们可以了解 MongoDB 中各个数据存储单位的概念和使用方法,这对于开发人员来说是非常有帮助的。