用我的本地数据库连接我的应用程序(node,express,mongo)并查询它

我用node.js,express.js,passport.js和mongodb构build一个小应用程序。 我是这个技术的新手,所以我试图在上传代码到服务器上之前先在本地进行testing,然后连接到mongolab。 现在我的问题是,我无法用我的mongo shell在本地查看或查询所有用户,因此,每次添加用户时,我都无法看到是否真的添加了它。 到目前为止我的代码如下:

app.js

var express = require('express'); var path = require('path'); var favicon = require('serve-favicon'); var logger = require('morgan'); var cookieParser = require('cookie-parser'); var bodyParser = require('body-parser'); var port = process.env.PORT || 3000; var passport = require('passport'); var LocalStrategy = require('passport-local').Strategy; var mongoose = require('mongoose'); var flash = require('connect-flash'); var session = require('express-session'); var routes = require('./routes/index'); var users = require('./routes/users'); var configDB = require('./config/database.js'); mongoose.connect(configDB.url); 

database.js(config / database.js)

 module.exports = { url: 'mongodb://localhost/expressauth', }; 

user.js(models / user.js)

 var mongoose = require('mongoose'); var bcrypt = require('bcrypt-nodejs'); var userSchema = mongoose.Schema({ local: { name: String, email: String, password: String, }, }); userSchema.methods.generateHash = function(password) { return bcrypt.hashSync(password, bcrypt.genSaltSync(8), null); }; userSchema.methods.validPassword = function(password) { return bcrypt.compareSync(password, this.local.password); }; module.exports = mongoose.model('User', userSchema); 

到目前为止,代码工作正常,每当我添加一个新的用户,我可以获得一个用户ID(类似59397add4905d20f0329125c)和密码。

现在我试图通过mongo shell来查看所有的用户,所以我在terminalinputMONGO,然后inputSHOW DBS,这样我就可以看到我的所有数据库。

我可以通过我的database.js(url:'mongodb:// localhost / expressauth')创build的数据库名为expressauth,所以我切换到它(USE expressauth),并在最后我试图做一个查询像SELECT *在MySQL中)与这种方法,我发现在文档=> db.expressauth.find()。

但我没有收到任何数据。 所以我不能testing我的应用程序(这实际上是我在github上find的一个web应用程序: https : //github.com/danielgynn/express-authentication/ 。

任何build议,为什么我的mongoshell不工作?

如果你在mongoshell中并且已经调用了use expressauth ,那么你应该能够show collections以查看该数据库中的集合。 userusers集合应该在那里取决于您的configuration。 然后你可以调用db.users.find()来获取集合中的所有用户。