尝试设置一个带有express和node的简单Web服务器,该服务器的登录系统带有mongo数据库。
Index.js
const express = require('express')
const path = require('path')
const PORT = process.env.PORT || 5000
const myDB = require('./db');
express()
.use(express.static(path.join(__dirname, 'public')))
.set('views', path.join(__dirname, 'views'))
.set('view engine', 'ejs')
.get('/', (req, res) => res.render('pages/index'))
.listen(PORT, () => console.log(`Listening on ${ PORT }`))
console.log("Returned: " + myDB.logIn("admin", "foo"));
db.js
const assert = require('assert');
const cypto = require('crypto');
const MongoClient = require('mongodb').MongoClient;
// Connection URL
const url = 'mongodb://userFoo:foo#@DSFOO.mlab.com:41605';
const dbName = 'heroku_jtq8fzbr';
module.exports = {
dbConnect : function () {
},
logIn: function (muser, mpass) {
const client = new MongoClient(url);
client.connect(function(err) {
assert.equal(null, err);
console.log('Connected');
const db = client.db(dbName);
if(db.collection('users').find({ user: muser, password: mpass}) == null) {
client.close();
return 0;
} else {
client.close();
return muser;
}
});
},
}
尽管我已经在index.js和db.js中为用户名/登录名详细信息输入了所有内容,但当前每当我运行它时(使用正确的用户名/登录名/ URL作为我的mLab服务器)都会打印出详细信息“返回:未定义”。如何修复它才能正确“登录”?