[英]mongodb not saving entry from node.js
只是想學習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 )
})
})
})
當我運行節點server-auth.js時,輸入以下命令。
curl -X POST -d '{"username": "somename", "password" : "pass"}' -H 'Content-Type: application/json' localhost:3000/user
我可以在節點的控制台日志中看到它顯示的對象很好。它也響應命令返回“創建”
null
$2a$10$NjymL8LT40ze6DauEDlX.OLzZMHB09uohbWuhiA0JNVLX8oTiGS1q
{ password: '$2a$10$NjymL8LT40ze6DauEDlX.OLzZMHB09uohbWuhiA0JNVLX8oTiGS1q',
username: 'somename',
_id: 561537693097776367ef4d87 }
因此,一切看起來都不錯。
但是,如果我隨后連接到mongo,則“ show dbs”將顯示auth_demo集合,並且如果我執行db.auth_demo.find(),則不會顯示任何內容(我嘗試過僅在mongo中本地保存,這樣就可以了) ?
進入mongo客戶程序后,請嘗試以下操作:
use auth_demo;
db.users.find();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.