Могу ли я получить экспертное заключение о том, как я смогу эффективно получить 1 элемент в подколлекции вместе с другими свойствами в родительском объекте?
{
"_id" : ObjectId("5ea2dd85a82b4f304020eed1"),
"hotelId" : "",
"name" : "Ted-Hotel",
"address" : "Hongkong",
"hotelInfo" : "Ted Sample hotel",
"introduction" : "Sample Hotel",
"selectedValidityToDate" : "2020-05-31T12:28:00Z",
"selectedValidityFromDate" : "2020-04-22T12:28:00Z",
"sneakInPrice" : 2000,
"childNoBedPrice" : 1000,
"surcharges" : [
{
"_id" : ObjectId("5ea2dd85a82b4f304020eed9"),
"description" : "WEEKEND",
"surchargeStartDate" : "2020-04-24T12:36:15.525Z",
"surchargeEndDate" : "2020-04-24T12:36:15.525Z",
"surcharge" : 1000
},
{
"_id" : ObjectId("5ea2dd85a82b4f304020eed8"),
"description" : "SINGLE_TRAVELER",
"surchargeStartDate" : "2020-04-24T12:36:00Z",
"surchargeEndDate" : "2020-04-25T12:36:00Z",
"surcharge" : 1000
},
{
"_id" : ObjectId("5ea2dd85a82b4f304020eed7"),
"description" : "PEAK_SEASON",
"surchargeStartDate" : "2020-05-01T12:36:00Z",
"surchargeEndDate" : "2020-06-30T12:36:00Z",
"surcharge" : 1500
}
]
}
Предполагая, что я хочу вернуть все свойства, но за дополнительную плату я заинтересован только в возврате второго товара?
В настоящее время у меня есть такой код в Пн goose:
async function fetchHotelRoomAbroadBySurchargeId(roomId) {
const hotelByRoomId = await HotelAbroadData.findOne(
{ 'surcharges._id': surchargeId},
{
hotelId: 1,
name: 1,
sneakInPrice: 1,
surcharges: 1
}
).exec();
return hotelByRoomId;
}
Заранее спасибо!