在 Hapi 应用程序中使用 MongoDB 数据库的入门教程

MongoDB 是一种流行的 NoSQL 数据库,它具有高可用性、可扩展性、高性能和灵活性。Hapi 是一个简单、强大的 Node.js 框架,它提供了各种插件来支持各种功能。Hapi 和 MongoDB 的组合可以帮助我们构建高效、可扩展的应用程序。

本篇教程将带你从头开始,通过使用 Hapi 插件 hapi-mongodb,来构建一个引用 MongoDB 数据库的 Hapi 应用程序。

步骤 1 - 创建新的 Hapi 应用程序

在开始之前,我们需要确保 Node.js 和 NPM 已经安装。我们还需要创建一个名为 hapi-mongodb-tutorial 的新目录,并初始化一个新的 Node.js 应用程序。

mkdir hapi-mongodb-tutorial
cd hapi-mongodb-tutorial
npm init -y

然后,我们将安装 Hapi 和 hapi-mongodb。

npm install hapi hapi-mongodb

创建一个新文件名为 index.js,并输入以下代码:

const Hapi = require('hapi');

const server = new Hapi.Server({
    port: 3000,
    host: 'localhost'
});

server.route({
    method: 'GET',
    path: '/',
    handler: (request, h) => {
        return 'Hello World!';
    }
});

const init = async () => {
    await server.start();
    console.log(`Server running at: ${server.info.uri}`);
};

init();

package.json 中添加以下代码:

"scripts": {
    "start": "node index.js"
},

我们现在可以启动服务器并访问 localhost:3000 查看是否可以运行应用程序。

步骤 2 - 添加 hapi-mongodb 插件

要使用 hapi-mongodb 插件,我们需要在初始化 Hapi 服务器实例时,将插件添加到 server.register() 调用中。

修改 index.js 文件,并添加以下代码:

const Hapi = require('hapi');
const MongoClient = require('mongodb').MongoClient;

const server = new Hapi.Server({
    port: 3000,
    host: 'localhost'
});

const mongoUrl = 'mongodb://localhost:27017/';
const dbName = 'hapi-mongodb-tutorial';

const init = async () => {
    const client = await MongoClient.connect(mongoUrl, {
        useNewUrlParser: true,
        useUnifiedTopology: true
    });

    await server.register({
        plugin: require('hapi-mongodb'),
        options: {
            url: mongoUrl,
            settings: {
                useUnifiedTopology: true
            },
            decorate: true
        }
    });

    server.route({
        method: 'GET',
        path: '/',
        handler: (request, h) => {
            const db = request.mongo.db;
            const collection = db.collection('users');

            return collection.find().toArray();
        }
    });

    await server.start();
    console.log(`Server running at: ${server.info.uri}`);
};

init();

在这个示例中,我们使用 MongoClient 连接到 MongoDB 数据库,并将数据库连接传递给 hapi-mongodb 插件。在 init() 函数中,我们注册了 hapi-mongodb 插件,并添加了一个新的路由。它将查询 MongoDB 中的 users 集合,将数据返回给客户端。

步骤 3 - 运行应用程序

好了,现在我们已经完成了整合 Hapi 和 MongoDB 数据库的工作,可以通过运行以下命令运行应用程序:

npm start

打开浏览器,访问 localhost:3000 就可以看到查询结果了。

总结

通过本篇教程,我们学会了如何使用 hapi-mongodb 插件轻松地在 Hapi 应用程序中使用 MongoDB 数据库,并创建了一个简单的示例应用程序。希望这篇教程对大家有所帮助,并且可以应用到实际开发中。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/65b0ed3badd4f0e0ffa44413