使用ID的集合对子文档进行猫鼬查询,例如Wher IN('ID1','ID2')的SQL查询

时间:2019-12-01 19:28:56

标签: mongoose subdocument

如何在下面更正我的代码。我需要通过HTTP POST调用从客户端动态生成$ in中的参数。即使我对参数进行了硬编码,也仍然无法获得预期的结果。 Rooms是Hotel模型下的子文档数组,我只想返回酒店名称和与给定ID匹配的房间。预先感谢您的帮助。

async function fetchHotelCollectionByRoomIds(roomIds) {
  if (!Array.isArray(roomIds)) {
    throw "Invalid array of Room IDs.";
  }

  const hotelByRoomIds = await HotelDataApi.find(
    {
      "rooms._id": {
        $in: [
          new ObjectId("5da42da876c3c52d08d6a1fe"),
          new ObjectId("5dded7958c55911bc834cb06")
        ]
      }
    },
    { name: 1, rooms: 1 }
  ).exec();

  return hotelByRoomIds;
}

0 个答案:

没有答案