为了账号安全,请及时绑定邮箱和手机立即绑定

如何在猫鼬中获得多个结果并将其组合在一个单一的响应中

如何在猫鼬中获得多个结果并将其组合在一个单一的响应中

一只斗牛犬 2022-08-18 16:07:05
在API(Route)调用中,我希望有3个猫鼬查询,然后将结果组合成一个响应json。查询student  .countDocuments  (    {}  )  .then(stundentNumber => {    return stundentNumber  })teacher  .countDocuments  (    {}  )  .then(teacherNumber => {    return teacherNumber;  })staff  .countDocuments  (    {}  )  .then(staffNumber => {    return staffNumber;  });期望的回应res.json({    teacher: teacherNumber,    student: stundentNumber,    staff: staffNumber});如何使用nodejs/猫鼬来完成
查看完整描述

2 回答

?
LEATH

TA贡献1936条经验 获得超6个赞

如果你使用的是 's,那么可以像下面这样尝试,Promise.all() 将帮助您并行执行所有操作:async-await


async function getCounts() {

    let [student,teacher,staff] = await Promise.all([student.countDocuments({}),teacher.countDocuments({}),staff.countDocuments({})]);

    return {student,teacher,staff};

}


/** call this function in main handler function where you get API call */

getCounts().then((data)=>{res.json(data)}).catch((err)=>{console.log(err)})


查看完整回答
反对 回复 2022-08-18
?
慕盖茨4494581

TA贡献1850条经验 获得超11个赞

您必须建立学生,教师和员工模型


const mongoose = require("mongoose"),

{Schema} = mongoose,

  studentSchema = new Schema(

    {

      name: {

        first: {

          type: String,

          trim: true

        },

        last: {

          type: String,

          trim: true

        }

      },

      studentNumber: {

        type: Number,

        required: true,

        lowercase: true,

        unique: true

      },

    }

其他两个型号相同。之后,您必须编写函数查询。详细了解查询。


查看完整回答
反对 回复 2022-08-18
  • 2 回答
  • 0 关注
  • 77 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信