首页 > 解决方案 > 如何保存 Mongoose exec 函数的返回值?

问题描述

我正在尝试保存以下函数的返回:

let maxNum;

const result = Url.find({})
 .sort({short_url: - 1})
 .select('short_url')
 .exec((err, data) => {
 console.log('what is data', data)
   if (err) return console.log(err);
   console.log('what is data here', data[0].short_url)
   maxNum = data[0].short_url;
 });

    console.log("resultsssss", result);
    console.log('give me maxnum', maxNum);

我得到的是:

resultsssss undefined
give me maxnum undefined
what is data [ { _id: 5ed434038de5842a1b14c44d, short_url: 2 },
  { _id: 5ed432937439e628e98e43e4, short_url: 1 },
  { _id: 5ed57d1dbd11721236587e2b } ]
what is data here 2

您可以查看我是否在 exec 中登录,然后我会获取数据,但我无法获得除此之外的全部内容,并且一直给我未定义的信息。如何获取数据以便将其保存到此函数之外的变量中?

标签: javascriptnode.jsmongoose

解决方案


你的承诺不会返回你必须添加的结果.then(if(user){return user})


推荐阅读