2012-10-18 48 views
2

我正在玩Mongoose和Node。無法使用Mongoose獲取,但使用Mongo shell

希望能夠保存骨幹模型,並通過Mongoose從Mongo中獲取保存的模型。

我能夠保存模型,但我無法通過貓鼬獲取它們。我可以用通過蒙戈外殼,沒有任何問題訪問它們:

db.users.find() 

我的代碼是:

var mongoose = require('mongoose'), 
userschema = mongoose.Schema({name: 'string', email: 'string'}), 
db = mongoose.createConnection('localhost', 'test'), 
User = db.model('User', userschema); 

exports.save = function(req, res){ 
var userobj = req.body, 
    newuser = new User(userobj); 

newuser.save(function(err){ 
    if(err){ 
     res.send(err); 
    } 
    else{ 
     res.send(newuser); 
    } 
}); 
}; 

exports.fetch = function(req, res){ 
var users = User.find(); 
res.send(users); 
} 

當我發送一個請求,並執行我取功能的服務器

{ 
    "options": { 
    "populate": {} 
    }, 
    "_conditions": {}, 
    "_updateArg": {}, 
    "op": "find" 
} 
響應

這就像我不是在正確的集合或什麼。

回答

0

User.find()不返回查詢結果;那些被傳遞給您作爲參數提供給find的回調。

exports.fetch = function(req, res) { 
    User.find(function(err, users) { 
     res.send(users); 
    }); 
}; 

如果不提供回調,那麼Query對象返回(這是你在響應看到的)。

+0

美麗!謝謝! – rasmussvanejensen

相關問題