2

我正在玩猫鼬和节点。

希望能够保存一个 Backbone 模型,并通过 Mongoose 从 Mongo 获取保存的模型。

我可以保存模型,但无法通过 Mongoose 获取它们。我可以通过 Mongo shell 毫无问题地访问它们:

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);
}

当我发送请求并执行我的 fetch 函数时,服务器会响应

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

就像我不在正确的收藏夹上一样。

4

1 回答 1

0

User.find()不返回查询结果;这些将传递给您作为参数提供的回调find

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

如果您不提供回调,则Query返回一个对象(这是您在响应中看到的)。

于 2012-10-18T12:13:30.590 回答