Javascript 将数据返回到index.js node express
为什么用户没有定义 db.js:Javascript 将数据返回到index.js node express,javascript,node.js,mongodb,express,Javascript,Node.js,Mongodb,Express,为什么用户没有定义 db.js: var MongoClient=require('mongodb')。MongoClient var用户; MongoClient.connect('mongodb://127.0.0.1:27017/ExpressApp2,函数(err,db){ users=db.collection('usercollection'); users.find().each(函数(err,doc){ 控制台日志(doc); }); });在db.js中,您没有使用modul
var MongoClient=require('mongodb')。MongoClient
var用户;
MongoClient.connect('mongodb://127.0.0.1:27017/ExpressApp2,函数(err,db){
users=db.collection('usercollection');
users.find().each(函数(err,doc){
控制台日志(doc);
});
});代码>在db.js中,您没有使用module.exports导出用户
index.js中的代码建议db.js使用getUsers函数导出一个对象,但事实并非如此
MongoClient.connect('mongodb://127.0.0.1:27017/ExpressApp2', function(err, db) {
users = db.collection('usercollection');
users.find().each(function(err, doc) {
console.log(doc);
});
});
应该是
module.exports.getUsers = function() {
MongoClient.connect('mongodb://127.0.0.1:27017/ExpressApp2', function(err, db) {
return db.collection('usercollection');
});
}
我是这么想的
users.find().each(function(err, doc) {
console.log(doc);
});
是调试的一部分,实际要返回的是用户集合。重要的一点是将块添加到module.exports as getUsers()。我最终让它与这个异步调用一起工作。
index.js
})) 我同意,这正是我想要的,但我也尝试过类似的方法,但仍然没有定义返回到浏览器。db.collection包含数据。这可能是我从index.js调用函数的方式吗?
router.get('/userlist', function(req, res) {
var d = require('../db');
d.getUsers('input', function(users) {
users.each(function(err, doc) {
res.send(doc);
return false;
});
});