сегодня я начал работать с MongoDB. Я создал две коллекции: Ресторан и Часы открытия. Я вставил данные в базу данных с помощью следующего кода:
db.OpeningHours.insert({
day: "Sunday",
from: "10.00am",
to: "16.00pm"
});
db.Restaurant.insert({
name: "Restaurant01",
openingHoursId:
[
{id: db.OpeningHours.find({day: "Sunday", from: "10.00am", to: "16.00pm"})[0]._id},
]
});
Ресторан содержит массив идентификаторов открытия часов. Я хочу написать запрос с поиском, чтобы я получил все данные из ресторана и данные за соответствующие часы работы. Вот мой код, и если я его запустил, я получаю сообщение об ошибке: Команда не выполнена ...
db.Restaurant.aggregate([
{
$unwind: "$openingHoursId",
$lookup:
{
from: "OpeningHours",
localField: "id",
foreignField: "_id",
as: "RestaurantHours"
}
}
])
Ожидаемый результат, который я хочу, выглядит примерно так:
{
"_id": ObjectId("5c43b6c8d0fa3ff24621f749"),
"name": "Restaurant01",
"openingHoursId":
[
{
"id": ObjectId("5c43b6c8d0fa3ff2462fg93e")
}
],
"RestaurantHours" :
[
{
"_id": ObjectId("5c43b6c8d0fa3ff2462fg93e"),
"day": "Sunday",
"from": "10.00am",
"to": "16.00pm"
}
]
}