Docs 菜单
Docs 主页
/ / /
Node.js 驱动程序

数据库和集合

在本指南中,您可以学习;了解如何使用 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 文档:

后退

连接故障排除

在此页面上