数据库和集合
Overview
在本指南中,您可以学习;了解如何使用 Node.js驾驶员与MongoDB数据库和集合交互。
MongoDB 将数据组织成以下级别的层次结构:
数据库: MongoDB 部署中用于存储集合的顶级数据结构。
集合: MongoDB文档组。 它们类似于关系数据库中的表。
文档:存储字符串、数字、日期和其他嵌入式文档等字面数据的单位。有关文档字段类型和结构的更多信息,请参阅MongoDB Server手册中的 文档 条目。
访问数据库
您可以通过在 MongoClient
实例上调用 db()
方法访问权限数据库。
以下示例将访问名为"test_database"
的数据库:
const database = client.db("test_database");
访问集合
您可以通过在 Db
实例上调用 collection()
方法来访问权限集合。
以下示例访问名为 "test_collection"
的集合:
const collection = database.collection("test_collection");
提示
如果提供的集合名称在数据库中尚不存在,则当您首次向其中插入数据时,MongoDB 会隐式创建该集合。
创建集合
要显式创建集合,请在 Db
实例上调用 createCollection()
方法。
以下示例创建了一个名为"example_collection"
的collection:
const createColl = await database.createCollection("example_collection");
您可以通过将 CreateCollectionOptions
实例传递给 createCollection()
方法来指定集合选项,例如最大大小和文档验证规则。有关可选参数的完整列表,请参阅 MongoDB Server 手册中的 create 命令 条目。
获取集合列表
您可以通过在 Db
实例上调用 listCollections()
方法查询数据库中的集合列表。
以下示例列出了数据库中的所有集合:
const colls = database.listCollections(); for await (const doc of colls) { console.log(doc) }
{ name: 'example_collection', type: 'collection', options: {}, info: { readOnly: false, uuid: new UUID('...') }, idIndex: { v: 2, key: { _id: 1 }, name: '_id_' } } { name: 'test_collection', type: 'collection', options: {}, info: { readOnly: false, uuid: new UUID('...') }, idIndex: { v: 2, key: { _id: 1 }, name: '_id_' } }
要仅查询数据库中集合的名称,请将 nameOnly
选项传递给 listCollections()
方法并将其值设立为 true
,如以下代码所示:
const names = database.listCollections({}, { nameOnly: true }); for await (const doc of names) { console.log(doc) }
{ name: 'example_collection', type: 'collection' } { name: 'test_collection', type: 'collection' }
删除集合
您可以通过在 Collection
实例上调用 drop()
方法来删除集合。
以下示例删除"test_collection"
集合:
const collectionToDelete = database.collection("test_collection"); await collectionToDelete.drop();
警告
删除集合会删除该集合中的所有数据
从数据库中删除集合会永久删除该集合中的所有文档和所有索引。
仅当不再需要集合中的数据时才删除集合。
API 文档
要进一步了解本指南所讨论的任何类型或方法,请参阅以下 API 文档: