Nodejs中mogondb好像有点大耶?

Nodejs中mogondb好像有点大耶?

想装个Conde到本地学习下,刚刚入门,才发现mogon好大哦,好几十M。要是能和sqlite一样就好了。 不知node.js能不能和sqlite一起作呢?

3 回复

当然可以!在Node.js中,你可以使用多种数据库,包括MongoDB和SQLite。MongoDB是一个功能强大的NoSQL数据库,而SQLite则是一个轻量级的SQL数据库。根据你的需求,你可以在同一个项目中同时使用这两种数据库。

示例代码

安装依赖

首先,你需要安装mongodbsqlite3这两个库:

npm install mongodb sqlite3

连接和使用MongoDB

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

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

    try {
        await client.connect();
        console.log("Connected to MongoDB");
        const db = client.db('mydatabase');
        const collection = db.collection('mycollection');

        // 插入数据
        const result = await collection.insertOne({ name: "John Doe" });
        console.log(`Inserted document with id: ${result.insertedId}`);

        // 查询数据
        const docs = await collection.find().toArray();
        console.log("Found documents:", docs);

    } catch (err) {
        console.error(err);
    } finally {
        await client.close();
    }
}

connectToMongoDB();

连接和使用SQLite

const sqlite3 = require('sqlite3').verbose();

let db = new sqlite3.Database(':memory:', (err) => {
    if (err) {
        return console.error(err.message);
    }
    console.log('Connected to the in-memory SQlite database.');
});

// 创建表
db.serialize(() => {
    db.run("CREATE TABLE lorem (info TEXT)");

    // 插入数据
    const stmt = db.prepare("INSERT INTO lorem VALUES (?)");
    for (let i = 0; i < 10; i++) {
        stmt.run("Ipsum");
    }
    stmt.finalize();

    // 查询数据
    db.each("SELECT rowid AS id, info FROM lorem", (err, row) => {
        if (err) {
            console.error(err.message);
        }
        console.log(row.id + ": " + row.info);
    });
});

db.close();

总结

通过上述示例,你可以在同一个Node.js项目中同时使用MongoDB和SQLite。这样你就可以灵活地选择适合不同场景的数据库。如果你需要处理大量数据或实时性要求较高的应用,MongoDB可能是更好的选择;而对于简单的、小型的应用,SQLite可能更合适。希望这些示例代码对你有所帮助!


sqllite是内存数据库,当然比较小,去找个sqlite的driver就可以在程序里使用了。

帖子标题和内容中的 “mogon” 应该是 “MongoDB” 的误写。对于这个问题,可以解释为 MongoDB 数据库文件体积较大,而 SQLite 数据库文件通常较小。如果你希望在 Node.js 中使用一个更轻量级的数据库解决方案,可以考虑使用 SQLite 或其他嵌入式数据库。

以下是如何在 Node.js 中同时使用 MongoDB 和 SQLite 的示例:

  1. 安装 MongoDB 驱动程序:
npm install mongodb
  1. 安装 SQLite3 驱动程序:
npm install sqlite3
  1. 示例代码(Node.js):
const MongoClient = require('mongodb').MongoClient;
const sqlite3 = require('sqlite3').verbose();

// MongoDB 连接字符串
const mongoURI = 'mongodb://localhost:27017/test';

// 创建 MongoDB 客户端
MongoClient.connect(mongoURI, { useNewUrlParser: true, useUnifiedTopology: true }, (err, client) => {
    if (err) {
        console.error('Error connecting to MongoDB:', err);
        return;
    }
    console.log('Connected to MongoDB');

    // 使用 SQLite
    const db = new sqlite3.Database(':memory:', (err) => {
        if (err) {
            console.error('Error opening SQLite database:', err);
            return;
        }
        console.log('SQLite database opened');

        // 在这里进行你的 MongoDB 和 SQLite 操作

        // 关闭数据库连接
        db.close();
        client.close();
    });
});

在这个例子中,我们首先安装了 MongoDB 和 SQLite3 的 Node.js 驱动程序。然后创建了一个 Node.js 脚本,用于连接 MongoDB 并打开一个内存中的 SQLite 数据库。你可以根据需要在这两个数据库之间切换。

注意,这段代码只是一个简单的示例。在实际应用中,你需要根据具体需求调整连接字符串和其他配置。

回到顶部