推荐项目:Next.js 遇见 MongoDB,构建高性能web应用的不二选择
import { MongoClient } from 'mongodb';
const url = process.env.MONGO_DB_CONNECTION_STRING;
// 创建MongoClient实例
const client = new MongoClient(url);
export default async function handler(req, res) {
const { id } = req.query;
try {
// 连接到MongoDB服务器
await client.connect();
// 连接到"mydatabase"数据库和"mycollection"集合
const database = client.db('mydatabase');
const collection = database.collection('mycollection');
// 根据id查询文档
const document = await collection.findOne({ _id: id });
if (document) {
res.status(200).json(document);
} else {
res.status(404).json({ message: 'Document not found' });
}
} catch (error) {
res.status(500).json({ message: 'Server error' });
} finally {
// 关闭MongoClient连接
await client.close();
}
}
这段代码使用Next.js的API端点方式,展示了如何在一个无服务器函数中使用MongoDB的Node.js驱动程序来查询数据。代码中包含了错误处理和连接管理,是构建数据驱动型Next.js应用的一个很好的实践。
评论已关闭