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