使用预定义的函数从mongodb/mongoose获取数据
Getting data from mongodb/mongoose using predefined functions
这就是我目前从mongodb:获取数据的方式
users.get(base_URL, (req, res) => {
UserModel.find({}, (err, docs) => {
res.render("Users/index", {
title: "All Users here",
user_list: docs
});
});
});
现在,正如您所看到的,这是一个快速应用程序。我想要的是简单地调用一个函数,这样我就可以从mongodb模型回调中的docs
变量中获得值。我该如何做到这一点,理想情况下,我想看到这样的东西:
users.get(base_URL, (req, res) => {
res.render('<some_jade_file_here>', {
title: "Yes, got it right",
user_list: getAllUsers();
});
});
理想情况下,我只想调用一个函数。我该怎么做呢?因为必须将render放在mongodb调用中是个问题,因为你可能想从数据库中查询很多东西,而它甚至可能不是一个数据库。我有点挣扎,因为我不太习惯回电话。
如有任何帮助,我们将不胜感激。如果您想知道这个语法() => {}
,那只是typescript中的一个匿名函数。
没有回调就无法实现,但可以使用类似async
的异步流控制库来帮助管理回调嵌套。在这种情况下,您可能希望使用async.parallel
。
使用它,你可以做一些类似的事情:
users.get(base_URL, (req, res) => {
var data = {
title: "Yes, got it right"
};
async.parallel([
(callback) => {
UserModel.find({}, (err, docs) {
data.user_list = docs;
callback(err);
});
},
(callback) => {
// Other query that populates another field in data
}
], (err, results) => {
// Called after all parallel functions have called their callback
res.render('<some_jade_file_here>', data);
});
});
相关文章:
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- jquery试图按名称获取按钮位置
- 从 Mongoose 中具有特定属性的数组中获取所有对象
- 如何在 Mongoose/Mongodb 中创建查询以获取此 json
- 使用预定义的函数从mongodb/mongoose获取数据
- 正在从字符串中获取Mongoose ObjectId
- 如何使用mongoose获取MongoDB中findAndModify函数的返回值
- 在Mongoose中更新子域数组而不获取父数组
- 使用$http.get(mongoose with nodejs)在嵌套的JSON中获取数组
- mongoose/mongodb查询从javascript数组中的每个发送方获取最后一个文档
- 如何使用Mongoose获取当前项目的下一个和上一个项目
- 如何使用Express和Mongoose发布和获取每个登录用户的唯一数据
- 无法在node.js上使用mongoose从mongodb上的新集合中获取数据
- 如何在数组中获取objectId的内容- Mongoose / NodeJs
- 从Mongoose find方法中的其他集合中获取数据
- 通过Mongoose获取集合失败(Object{}没有'find'方法)
- 如何从回调中获取值?(NodeJs+Mongoose)
- Mongoose getter正在获取未定义的参数
- 如何对子文档执行操作,而不需要在Mongoose中获取父文档
- Mongoose在某个元素之后获取数组中的元素