Я пытаюсь решить проблему с форматом документов в монгодб, изображенном ниже.{
"_id": {
"$oid": "68dc4f78e11553b3647231e2"
},
"name": "Dutch Bros",
"address": "25 Down Street, Salt Lake City, UT",
"facilities": [
"Hot drinks",
"Food"
],
"coords": [
-0.9690884,
51.455041
],
"reviews": [
{
"author": "John Smith",
"rating": {
"$numberDecimal": "5"
},
"createdOn": {
"$date": "2025-09-30T06:00:00.000Z"
},
"reviewText": "Great Place. Would come back again!"
},
{
"author": "Jane Doe",
"rating": {
"$numberDecimal": "4"
},
"createdOn": {
"$date": "2025-09-30T06:00:00.000Z"
},
"reviewText": "Okay Place. Would come back again!"
}
]
}
< /code>
Моя цель состоит в том, чтобы соответствовать обзору субдокументию (ы) на основе атрибута, который он имеет, такие как рейтинги, равные пяти. Я знаю, что я мог бы взять массив отзывов в целом и повторить их, чтобы найти атрибуты для того, что мне нужно, но я хочу иметь возможность найти его непосредственно в запросе MongoDB, чтобы сервер MongoDB выполнял работу, пока он сохраняет мой экспресс -сервер. Я надеюсь, что это было достаточно ясно, и я прошу прощения, если это не так! Я также пытался использовать метод .get () на возвращенном массиве, потому что я видел, что это был доступный метод для объекта, но это дало ошибку. Я также пытался построить запрос, который был близок к тому, что, я считаю, решение будет, но я не могу понять, как элемент MongoDB соответствует элементу массива, см. Ниже для моей неудачной попытки.const monReview = await Loc
.findById(req.params.locationid)
.select('name reviews')
.where('reviews')
.elemMatch({$eq: req.params.reviewRating})
.exec();
Подробнее здесь: https://stackoverflow.com/questions/797 ... n-an-array
Запрос MongoDB с мангуозом - соответствующий атрибут подразделений в массиве ⇐ Javascript
Форум по Javascript
1759323212
Anonymous
Я пытаюсь решить проблему с форматом документов в монгодб, изображенном ниже.{
"_id": {
"$oid": "68dc4f78e11553b3647231e2"
},
"name": "Dutch Bros",
"address": "25 Down Street, Salt Lake City, UT",
"facilities": [
"Hot drinks",
"Food"
],
"coords": [
-0.9690884,
51.455041
],
"reviews": [
{
"author": "John Smith",
"rating": {
"$numberDecimal": "5"
},
"createdOn": {
"$date": "2025-09-30T06:00:00.000Z"
},
"reviewText": "Great Place. Would come back again!"
},
{
"author": "Jane Doe",
"rating": {
"$numberDecimal": "4"
},
"createdOn": {
"$date": "2025-09-30T06:00:00.000Z"
},
"reviewText": "Okay Place. Would come back again!"
}
]
}
< /code>
Моя цель состоит в том, чтобы соответствовать обзору субдокументию (ы) на основе атрибута, который он имеет, такие как рейтинги, равные пяти. Я знаю, что я мог бы взять массив отзывов в целом и повторить их, чтобы найти атрибуты для того, что мне нужно, но я хочу иметь возможность найти его непосредственно в запросе MongoDB, чтобы сервер MongoDB выполнял работу, пока он сохраняет мой экспресс -сервер. Я надеюсь, что это было достаточно ясно, и я прошу прощения, если это не так! Я также пытался использовать метод .get () на возвращенном массиве, потому что я видел, что это был доступный метод для объекта, но это дало ошибку. Я также пытался построить запрос, который был близок к тому, что, я считаю, решение будет, но я не могу понять, как элемент MongoDB соответствует элементу массива, см. Ниже для моей неудачной попытки.const monReview = await Loc
.findById(req.params.locationid)
.select('name reviews')
.where('reviews')
.elemMatch({$eq: req.params.reviewRating})
.exec();
Подробнее здесь: [url]https://stackoverflow.com/questions/79780074/mongodb-query-with-mongoose-matching-subdocument-attribute-within-an-array[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия