node.js - 如何使用 mongoClient.connect 和 express?
问题描述
我开始使用 mongoDB,我不得不说官方文档并不是很好,无法看到如何使用 nodejs 实现它。
我真的不知道如何构造我的服务器文件来添加 mongoClient.connect,我的整个服务器是否应该写在 mongoClient.connect 函数中以便访问数据库,就像在这个样板中一样?我正在使用 nodeJS/express。
如果您知道任何好的样板或任何东西,可以向我展示带有 mongoDB 实现的后端结构,我将不胜感激。每次我发现关于 mongoDB 的东西,其实都是关于 mongooooose 的!!
解决方案
经过进一步的研究,对于那些像我一样想知道如何使用 Express 实现 MongoDB(而不是 mongoose)的人来说,这是我一直在寻找的:
var express = require('express');
var mongodb = require('mongodb');
var app = express();
var MongoClient = require('mongodb').MongoClient;
var db;
// Initialize connection once
MongoClient.connect("mongodb://localhost:27017/integration_test", function(err, database) {
if(err) throw err;
db = database;
// Start the application after the database connection is ready
app.listen(3000);
console.log("Listening on port 3000");
});
// Reuse database object in request handlers
app.get("/", function(req, res) {
db.collection("replicaset_mongo_client_collection").find({}, function(err, docs) {
docs.each(function(err, doc) {
if(doc) {
console.log(doc);
}
else {
res.end();
}
});
});
});
推荐阅读
- laravel - 作业尝试次数过多或运行时间过长
- flutter - 登录时 Flutter 中的全屏视频背景
- npm - NPM:如果父目录的 node_modules 满足依赖关系,则不安装
- algorithm - 在调车场处理链式一元操作员
- c - 使用未声明的标识符“PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP”
- python - 在 Django 中使用 FreeTDS
- r - 在 R 中使用 geom_density_2d() 时出错:`stat_density2d()` 中的计算失败:带宽必须严格为正
- git - git如何存储版本信息
- powershell - Pester Gherkin 测试:“找不到名为 'PSBoundParameters' 的变量”
- php - 如何改进 Laravel 中特定日期功能的搜索