首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >猫鼬问题中的findOne循环

猫鼬问题中的findOne循环
EN

Stack Overflow用户
提问于 2021-06-01 16:03:40
回答 1查看 204关注 0票数 0

我遇到了猫鼬findOne循环的麻烦。

我有一个ObjectID数组,我需要获得文档的另一个值( value关键字)--这是我到目前为止所拥有的:

代码语言:javascript
复制
let qarray = []
  

   for (var i = 0; i < req.body.keyword.length; i++) {
     let pushy = db.collection('keywords').findOne({ "_id": req.body.keyword[i]})
    qarray.push(pushy.keyword)
    console.log(pushy); // for debugging purpose
    console.log(req.body.keyword[i]); // for debugging purpose
   }
   console.log(qarray);

其结果是:

代码语言:javascript
复制
Promise { <pending> }
60ab81c5be36d74968e23d14
Promise { <pending> }
60a77893b015d85f38a3323f
[ undefined, undefined ]

编辑

我使用了循环解决方案,但我对异步函数不太熟悉.

代码语言:javascript
复制
async function fetchSomeStuff(expTemp){
let qarray = []
for (var i = 0; i < expTemp.keywordid.length; i++) {
  console.log(expTemp.keywordid);
  console.log(db.collection('keywords').findOne({ _id: expTemp.keywordid[i]}));
  let pushy = await db.collection('keywords').findOne({ _id: expTemp.keywordid[i]})
  .catch(error => console.error(error))
  .then(qarray.push(pushy.keyword))
}
console.log(qarray);
}

这给了我这些问题信息:

承诺{待决}

ReferenceError:无法在初始化前访问“pushy”

我想我得等数据库取出,然后放进我的数组中,我肯定遗漏了一些东西

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-06-01 16:11:42

使用$in代替

代码语言:javascript
复制
async function fetchSomeStuff(){
  const pushy = await db.collection('keywords').find({"_id" : { $in : req.body.keyword}});
  return pushy;
}

或者如果您仍然想循环并使用findOne()

代码语言:javascript
复制
async function fetchSomeStuff(){
  let qarray = []
  

  for (var i = 0; i < req.body.keyword.length; i++) {
    let pushy = await db.collection('keywords').findOne({ "_id": req.body.keyword[i]})
    qarray.push(pushy.keyword)
    console.log(pushy); // for debugging purpose
    console.log(req.body.keyword[i]); // for debugging purpose
  }

  console.log(qarray);
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67792324

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档