首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有办法在mongoose模式方法中运行for循环?

有没有办法在mongoose模式方法中运行for循环?
EN

Stack Overflow用户
提问于 2019-08-20 23:07:50
回答 1查看 22关注 0票数 0

我想为数组的长度运行下面的for循环,但它所做的就是一个接一个地添加。

有什么想法吗?

代码语言:javascript
复制
EndorsedSkillSchema.methods = {
  async userEndorsedSkill(arr) {
    for (var i = 0; i < arr.length; i++) {
      const skill = await Skill.findOne({ _id: arr[i]._id });

      const s = skill.toJSON();

      this.skills.push(arr[i]._id);
      await this.save();
      pubsub.publish(SKILL_ENDORSED, { [SKILL_ENDORSED]: { ...s } });
      return {
        endorsed: true,
        ...s
      };
    }
  }
};
EN

回答 1

Stack Overflow用户

发布于 2019-08-20 23:29:40

您可以使用find(){$in: ids}

代码语言:javascript
复制
 const arr = [{_id:1},{_id:2},{_id:3}];

 const ids = arr.map(e=>e._id);

 Skill.find({_id: {$in: ids}}, function(err, result){
    //callback here maybe .insertMany()
 });
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57576614

复制
相关文章

相似问题

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