node.js、express.js、passport.js、mongodbで小さなアプリケーションを構築します。私はこの技術に慣れていないので、コードをサーバーにアップロードしてからmongolabに接続する前に、ローカルでテストしようとしています。私の問題は、mongoシェルですべてのユーザーをローカルで見ることができないということです。ユーザーを追加するたびに、実際に追加するかどうかは分かりません。これまでのところ、私のコードは以下の通りです:自分のアプリケーション(ノード、エクスプレス、mongo)をローカルデータベースに接続してクエリを実行します。
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(設定/ database.js)
module.exports = {
url: 'mongodb://localhost/expressauth',
};
user.jsの(モデル/ user.jsの)
app.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シェルですべてのユーザーを表示しようとしていますので、ターミナルでMONGOと入力してからSHOW DBSと入力すると、すべてのデータベースが表示されます。
database.js(url: 'mongodb:// localhost/expressauth')で作成したデータベースがexpressauthと呼ばれるので、私はそれを(USE expressauth)に切り替えています。ドキュメントで見つけたこのメソッドでクエリー(mysqlのSELECT *のようなもの)を作成します。> db.expressauth.find()
しかし、データはありません。だから私は実際に私はgithubの上で見つかったウェブアプリである(私のアプリケーションをテストすることはできませんよ:。?https://github.com/danielgynn/express-authentication/
私mongoshellが
素晴らしい!それは動作する!私は "ショーコレクション"の部分を見逃した。私はdatabasを照会しようとしていた一般的には – Matto