我想返回“项目”,它位于for循环内,还有两个附加函数。“项目”是一个对象(我不会说变量),它由三个数组元素组成,根据情况的不同可以更多。因此,我需要返回“ items”,以便可以在外部访问它,并可以使用res.send()将其发送给客户端。如果我在循环和函数内发送数据,它将返回一个错误,错误消息为“错误[ERR_HTTP_HEADERS_SENT]:将标头发送到客户端后无法设置标头”。我找到了解决方法,但是在实施它们时,没有任何反应。它引发了我同样的错误。我本来打算做它的回调函数,但是在这种情况下我对如何使用它感到困惑。预先感谢。
router.get("/send" , async (req, res) => {
try {
res.send("hello")
//await sendData()
getCollectionNames()
} catch (error) {
console.log(error);
}
function getCollectionNames(){
MongoClient.connect(url, function(err, db) {
var db = db.db('admin')
mongoose.connection.db.listCollections().toArray(function (err, names) {
for(let index = 0; index < names.length; index ++){
if (err) {
console.log(err);
}
let name = names[index].name
const collection = db.collection(name)
collection.find().toArray(function(err, items){
console.log(items)
})
}
});
})
}
})