如果我想在页面上显示所有资源,我可能会这样做:
Resource.find({}).exec(function (err, resources) {
res.render("view", {
resources: resources
但是,如果我想同时在页面上显示所有资源和所有项目,该怎么办?我能做到:
Resource.find({}).exec(function (err, resources) {
Projects.find({}).exec(function (err, projects) {
res.render("view", {
resources: resources,
projects: projects
我认为有是更好/更正确的方法来做到这一点。
答案 0 :(得分:2)
var async = require('async');
var resourcesQuery = Resource.find({});
var projectsQuery = Projects.find({});
var resources = {
resources: resourcesQuery.exec.bind(resourcesQuery),
projects: projectsQuery.exec.bind(projectsQuery)
};
async.parallel(resources, function (error, results) {
if (error) {
res.status(500).send(error);
return;
}
res.render("view", results);
});
这将使查询并行而不是串行,这可能会更快。