使用mongodb数据库处理节点中的get请求数据
Handling data with get request in node with mongodb database
没有问题。如何将猫鼬查询与JSON响应同步?下面的代码返回空值,因为查询稍后结束。哪一种处理方式呢?
router.route('/admin')
.get(function (req, res ) {
var country = [];
var element = [];
Country.find({}, function (err, data) {
country = data;
});
Items.find({}, function (err, data) {
element = data;
});
res.json({
countries: country,
elements: element
});
});
国家。find和Items。Find是异步执行的——并同时运行。您需要将它们嵌套在回调函数中以支持异步执行模式——这样您就可以确保它们是同步执行的。所以你的代码应该像这样:
Country.find({}, function (err, data) {
country = data;
Items.find({}, function (err, data) {
element = data;
res.json({
countries: country,
elements: element
});
});
});
一种更高级、可能更好的方法是使用promise库——这意味着它们仍然是异步执行的,但只有在所有函数的所有结果可用时才返回完整的结果——下面解释:
执行几个猫鼬查询:如何使用承诺代替?
相关文章:
- 有没有一种方法可以防止img get请求使用css或js发生
- jQuery Ajax GET请求工作不正常
- 将GET请求(HTML字符串)转换为完整的DOM对象
- 如何在nightwatch.js中发送ajax get请求
- 当我在chrome中切换设备模式时,$http.get请求失败
- 根据GET请求的结果自定义页面内容
- 如何在调用下一个请求之前完成第一个Ajax Get请求
- Codeigniter JQuery在JQuery.get请求后动态加载视图中的数据
- 如果我对一个文件发出ajax GET请求,我会得到什么以及如何将其添加到页面中
- JQuery AJAX 在 GET 请求完成时返回 XML
- AngularJS $http GET 请求到本地 JSON 文件返回语法错误:意外令牌]
- 嵌套在 .get 请求中的 jQuery 不会执行
- 如何在 GET 请求中序列化查询的对象
- 对服务器的 GET 请求返回 net::ERR_CONNECTION_REFUSED
- GET 请求在 javascript 中到 NodeJS
- 无法在角度 js 中将参数传递给 http get 请求
- Ajax GET 请求的 URL 失败,但 hurl.it 相同 URL 的 GET 请求有效.什么给
- Atlasboard在GET请求中给了我500
- 带有正文的Amplifyjs GET请求
- Rails4:是否可以将Ajax.get请求发送到相同的当前页面控制器