如何让变量保存 mongodb 数据库
How to let a variable hold a mongodb database
所以基本上,我正在尝试设置一个可以直接查询mongodb的变量。我的代码如下所示:
数据库.js
var mongo = require('mongodb').MongoClient;
var DB = null;
var dbURL = 'mongodb://localhost:27017';
exports.connect = function(cb) {
console.log('meep'); //tracing code
mongo.connect(dbURL, function(err, db){
console.log('lmao'); //tracing
if (err) throw Error('Something has went wrong');
else { DB=db; console.log(DB); cb();}
});
console.log(DB); //returns null
};
//if some other file requires this file as mydbjs for example,
//I want to be able to do mydbjs.db().collection('epik').find();
exports.db = function() {
if (DB === null) throw Error('DB Object has not yet been initialized');
return DB;
};
有没有办法做到这一点,或者我必须在连接功能中做所有事情?我假设它可能与回调函数或其他东西有关。任何帮助都深表感谢。
你的假设是正确的 - 你只能在这个回调中使用db
变量
function(err, db){
console.log('lmao'); //tracing
if (err) throw Error('Something has went wrong');
else { DB=db; console.log(DB); cb();}
});
在这里你可以用例子进行详细的解释:nodeJs 回调简单的例子
相关文章:
- 我可以使用Python和NodeJS中相同的MongoDB数据库吗
- 为什么我从一个空的mongodb数据库中获取数据
- 如何从Meteor内部获取当前连接的MongoDB数据库的URL
- 将 .exr 高度图解析为 mongoDB 数据库
- 两个服务器可以访问一个公共的mongoDB数据库吗?
- 使用Meteor.js使用多个Mongodb数据库
- 如何让变量保存 mongodb 数据库
- 如何使用NodeJS驱动程序创建新的MongoDb数据库
- 正在打开MongoDB数据库
- 可以't使用backbone.js从mongodb数据库中删除记录
- 仅在完成两个MongoDB数据库查询时呈现页面
- 从node.js向mongoDB数据库中插入数据
- 在Nodejs中,何时关闭MongoDB数据库连接
- 不能使用Meteor-Blaze访问mongodb数据库
- Node JS读取文件插入到mongodb数据库
- 从整个mongodb数据库中删除匹配的文档
- Id在mongodb数据库中保存为[object]
- 如何种子MongoDB数据库没有得到'null''s
- 使用mongodb数据库处理节点中的get请求数据
- mongoDB数据库分析器查询和getmore选项