0
Mongooseを使って、Math.randomとMongooseのfindOneを使用してデータベースからランダムな値を取得しようとしています。私の関数の中では、私が得ている値が定義されています。しかし、別のクラスの関数を呼び出すと、私は未定義の値を受け取ります。これはJavascriptの非同期性のためですが、これを修正する方法はわかりません。何かアドバイスをいただければ幸いです!Mongoose findOneを使用して関数を定義していない関数を使用していますか?
export const getRandomItem2 = (req, res) => {
var toReturn;
Item.count().exec(function(err, count){
var random = Math.floor(Math.random() * count);
Item.findOne().skip(random).exec(
function (err, result) {
toReturn = result.description;
console.log('toReturn populated here!' + toReturn);
return toReturn; //this is returning undefined
});
});
}