首先我想澄清一下,我是node.js的新手,这可能听起来像一个愚蠢的问题,但是,我应该如何从mongoose中的model.find()函数返回数据(例如,使用var.exports = var )?<
const data = () =>
{
MyModel.find().then(function(result){
console.log(result);
return(result);
});
}
exports.data = data
由于查询是异步的,在函数完成之前我无法检索这些数据(所以永远不会)。无论如何,是否可以在变量中返回这些信息,例如:
const retriever = require('../utils/test.js') //calling the exports file
test = retriever.data
console.log(test)
提前非常感谢您
有了承诺,你可以实现如下
const data = () => {
return MyModel.find({});
}
// using it in another function
const result = await data();
1.可以使用回调,如下
const data = (callback) =>
{
MyModel.find().then(function(result){
console.log(result);
//return(result);
callback(results);//we pass in a function which will be used to pull out
//data
});
}
exports.data = data
// 使用此代码的区域
const {data} = require('./to/data')
//show data
data(function (result) {
console.log( result );// data from callback
})
2。使用 async/await promies
const data = async () =>
{
let results = await MyModel.find();
}
exports.data = data
关于使用此功能
const {data} = require('./to/data')
(async function () {
let res = await data();
console.log(res);
})()
这对我有用:
myModel
.find()
.then(function (result) {
console.log(result);
});