只是想学习node / mongo / express,所以我很新。我正在读一本书,只想尝试一些基础知识。
我在user.js中有以下代码..
var mongoose = require('mongoose')
mongoose.connect('mongodb://localhost/auth_demo');
var user = mongoose.Schema({
username: String,
password: String
})
module.exports = mongoose.model('User', user );
然后是server-auth.js
var User = require('./user')
var express = require('express')
var bcryptjs = require('bcryptjs')
var app = express();
app.use(require('body-parser').json());
app.post('/user', function( req, res, next ) {
var user = new User({ username: req.body.username });
bcryptjs.hash(req.body.password, 10, function( err, hash ) {
user.password = hash
console.log( err, hash, user )
user.save( function( err, user ) {
if( err ) { throw next( err ) }
res.send( 201 )
})
})
})
当我运行node server-auth.js并输入以下命令时..
curl -X POST -d '{"username": "somename", "password" : "pass"}' -H 'Content-Type: application/json' localhost:3000/user
我可以在节点的控制台日志中看到,它显示对象很好..还说“创建了”#39;响应命令
null
$2a$10$NjymL8LT40ze6DauEDlX.OLzZMHB09uohbWuhiA0JNVLX8oTiGS1q
{ password: '$2a$10$NjymL8LT40ze6DauEDlX.OLzZMHB09uohbWuhiA0JNVLX8oTiGS1q',
username: 'somename',
_id: 561537693097776367ef4d87 }
所以这一切'看起来'确定。
然而,如果我然后连接到mongo,'显示dbs'显示auth_demo集合,如果我执行db.auth_demo.find()它没有显示任何内容(我尝试在mongo本地保存,那很好)?
答案 0 :(得分:1)
进入mongo客户端后尝试此操作:
use auth_demo;
db.users.find();