node.js - 将 Mongoose 查询导出为嵌套数组的数组
问题描述
早上好,
我认为按照Push element into nested array mongoose nodejs的说明,我会设法解决我的问题,但我仍然卡住了。
我正在尝试将 Mongoose 查询的结果放入数组中。下面的代码在对象数量相对较少时有效,但每当体积增加时我都会收到“解析错误”。
我可以看到我没有考虑代码是异步的这一事实,但我尝试过的尝试Promise { <pending> }
充其量只是最终结果。
const Collection = require("./schema");
const connection = require("mongoose");
let data = [];
Collection.find({},(e,result)=>{
result.forEach(doc =>{
data.push([doc["a"],
doc["b"]])
});
})
.then(()=>connection.close())
module.exports = data;
以上显然是错误的,因为我不尊重操作的异步性质。
我实现了以下功能,但我不明白我应该如何解决这个承诺。
async function getdata() {
const cursor = Collection.find().cursor();
let data = []
await cursor.eachAsync(async function(doc) {
await new Promise(resolve =>resolve((data.push(doc))));
});
}
目的是当我let data = require("./queryResult.js")
data
包含所有必要的数据时[[a,b],[a,b]]
有人可以帮我解决这个问题吗?
提前谢谢了。
解决方案
推荐阅读
- python - 嵌套在字典理解中的列表理解
- python - 意外标记“Hello World!”附近的语法错误 ' 在 Ubuntu 上
- linux - 找出正在运行的 Docker 容器
- flutter - 如何在 Flutter 中制作具有不同功能的可重用容器
- python - 合适的数据类型来保存指向 numpy ndarray 元素的指针
- php - 为什么 php unlink() 没有显示这样的文件或目录?
- javascript - 为元数据分配和查询 Javascript 箭头函数
- python - 如何根据其他行值添加熊猫数据框列
- python - 如何将 pandas 行转换为自定义 json 格式并发出 POST 请求
- javascript - 如何使用 PHP/Jquery live 从表单获取输入?