簡體   English   中英

mongodb不保存來自node.js的條目

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM