MongoDB(16)如何在MongoDB中创建数据库?

12 阅读3分钟

在MongoDB中,数据库的创建是隐式的。当你插入数据到指定的集合时,MongoDB会自动创建相应的数据库。如果你想手动创建数据库,可以选择插入一个文档来实现。以下是详细的步骤和代码示例,展示如何在不同操作系统上创建数据库。

创建数据库的步骤

  1. 启动MongoDB Shell
  2. 选择或创建数据库
  3. 插入数据
  4. 验证数据库创建

下面是详细的步骤和代码示例:

在Ubuntu(及其他基于systemd的Linux系统)、Windows和macOS上使用MongoDB Shell

1. 启动MongoDB Shell

根据你的操作系统,打开终端或命令提示符来启动MongoDB Shell:

mongo

2. 选择或创建数据库

MongoDB在你选择一个不存在的数据库时会自动创建一个新的数据库。

use myNewDatabase

上面的命令会切换到myNewDatabase数据库。如果该数据库不存在,MongoDB会创建一个新的数据库,尽管此时它是空的。

3. 插入数据

要真正创建数据库并确保它被保存,你需要向该数据库的集合中插入至少一个文档。

db.myNewCollection.insertOne({ name: "Alice", age: 30 })

上面的命令将在myNewDatabase数据库中创建一个名为myNewCollection的集合,并向其中插入一个文档。

4. 验证数据库创建

要确认数据库和集合是否创建成功,可以使用以下命令:

show dbs

show collections

show dbs命令会列出所有数据库,show collections命令会列出当前数据库中的所有集合。

使用Node.js连接并创建数据库

以下是使用Node.js和MongoDB驱动程序连接到MongoDB并创建数据库的示例代码。

1. 安装MongoDB Node.js驱动

npm install mongodb

2. 创建并运行Node.js脚本

创建一个新的Node.js脚本文件(如createDatabase.js)并添加以下代码:

const { MongoClient } = require('mongodb');

async function main() {
    const uri = "mongodb://localhost:27017";
    const client = new MongoClient(uri, { useUnifiedTopology: true });

    try {
        // 连接到MongoDB服务器
        await client.connect();
        console.log("Connected to MongoDB");

        // 选择或创建数据库
        const db = client.db('myNewDatabase');

        // 插入数据
        const collection = db.collection('myNewCollection');
        const insertResult = await collection.insertOne({ name: "Alice", age: 30 });
        console.log('Insert Result:', insertResult);

        // 验证数据库和集合的创建
        const databasesList = await client.db().admin().listDatabases();
        console.log('Databases:');
        databasesList.databases.forEach(db => console.log(` - ${db.name}`));

    } finally {
        // 关闭连接
        await client.close();
    }
}

main().catch(console.error);

运行这个脚本:

node createDatabase.js

使用Python连接并创建数据库

以下是使用Python和PyMongo驱动程序连接到MongoDB并创建数据库的示例代码。

1. 安装PyMongo

pip install pymongo

2. 创建并运行Python脚本

创建一个新的Python脚本文件(如create_database.py)并添加以下代码:

from pymongo import MongoClient

def main():
    client = MongoClient('mongodb://localhost:27017/')

    # 选择或创建数据库
    db = client['myNewDatabase']

    # 插入数据
    collection = db['myNewCollection']
    insert_result = collection.insert_one({ 'name': 'Alice', 'age': 30 })
    print('Insert Result:', insert_result.inserted_id)

    # 验证数据库和集合的创建
    databases = client.list_database_names()
    print('Databases:')
    for database in databases:
        print(f' - {database}')

    # 关闭连接
    client.close()

if __name__ == '__main__':
    main()

运行这个脚本:

python create_database.py

总结

在MongoDB中创建数据库的步骤如下:

  1. 启动MongoDB Shell:使用mongo命令启动MongoDB Shell。
  2. 选择或创建数据库:使用use myNewDatabase命令选择或创建数据库。
  3. 插入数据:使用db.myNewCollection.insertOne({ name: "Alice", age: 30 })命令插入数据。
  4. 验证数据库创建:使用show dbsshow collections命令验证数据库和集合的创建。

此外,还可以使用Node.js或Python编写脚本来连接MongoDB并创建数据库。以上步骤和代码示例可以帮助你在不同操作系统上创建并验证MongoDB数据库。