2017-04-05 117 views
0

我是NodeJS/MongoDB的初學者,因此對您來說可能會很容易。mongoDB/NodeJS save()方法不起作用

我有這個簡單的代碼:

var MongoClient = require('mongodb').MongoClient; 
var mongoose = require('mongoose'); 
mongoose.Promise = require('bluebird') 

MongoClient.connect("mongodb://localhost:27017/db_ldap_users", function(err, db) { 
    if(err) { 
     throw err; 
    } 
    console.log("connected to the mongoDB !"); 
}); 

var usersSchema = new mongoose.Schema({uid : String }); 

var Users = mongoose.model('Users', usersSchema); 

app.get("/test", function(req, res) { 
    console.log("Service /test called"); 
    var users = new Users(); 
    users.uid = "James"; 
    console.log("User created"); 

    users.save(function(err) { 
     console.log("Callback"); 
     if (err) { 
      console.log("error"); 
      throw err; 
     } 
     console.log('added !'); 
     res.send("ok"); 
    }); 
}); 

這裏是輸出:

connected to the mongoDB ! 
Service /test called 
User created 

的問題是用戶永遠不會添加到數據庫。我從來沒有進入回調,我不知道爲什麼,我遵循多個教程,它似乎總是適合他們。有人有想法嗎?

EDIT:我忘記添加
mongoose.connect( 「mongodb的://本地主機:27017/db_ldap_users」); 我當時就想,與數據庫的連接是足夠的感謝

感謝您

+0

的可能的複製[貓鼬保存,而不會錯誤失敗(HTTP://計算器。 com/questions/20304855/mongoose-save-fails-without-error) – rsp

回答

1

看看這個:

 var mongoose = require('mongoose'); 


     mongoose.connect("mongodb://localhost:27017/db_ldap_users"); 

     var usersSchema = new mongoose.Schema({uid : String }); 

     var Users = mongoose.model('Users', usersSchema); 

     app.get("/test", function(req, res) { 
      console.log("Service /test called"); 
      var users = new Users(); 
      users.uid = "James"; 
      console.log("User created"); 

     users.save(function(err) { 
      console.log("Callback"); 
        if (err) { 
        console.log("error"); 
        throw err; 
     } 
      console.log('added !'); 
     res.send("ok"); 
     }); 
    }); 
+1

請問您可以在此添加更多解釋,以便用戶更好地理解它? –

+0

好吧,這是工作的錯誤是我沒有做mongoose.connect(「mongodb:// localhost:27017/db_ldap_users」);謝謝 ! – Foushi