MongoDb和Nodejs服务器响应

时间:2012-09-20 01:03:33

标签: node.js mongodb coffeescript mongoose restify

在我的javascript类中,我有一个函数返回一个类似的东西列表,

//ProjectClass.js
getProjectList: () =>
    @Project.find (err, projects) =>
        console.log(projects)
        return projects

但是,每当我尝试从nodejs发送服务器响应时

//App.js
project = new projectSchema.Project()
res.send(project.getProjectList())

我得到以下作为回复

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

具有讽刺意味的是,如果我将res对象传递给我的getProjectList并从我的getProjectList函数发送服务器响应,那么一切正常。

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

@Project.find是一个异步函数,在find结果可用后调用您的匿名回调。 getProjectList返回在该函数中执行的最后一个同步语句的结果,该结果是@Project.find的返回值。这不是您的回调返回的projects数组,而是您在回复中看到的查询对象。