@DarkLynx91

Выборка документов с фильтрацией вложенных документов?

Доброго дня.
Имеется коллекция документов каждый документ которой имеет массив вложенных документов.
Вложенные документы имеют статус архивный/удаленный.
Задача выбрать документы так что бы в них не показывались вложенные документы в статусе архивный/удаленный.

Можно ли такое сделать одним запросом к монго или придется фильтровать вложенные документы на уровне приложения?
Спасибо!

UPD:
Дополню примером, что бы было понятней.
Есть такой документ.
{
	"name": "Doc1",
	"messages": [
		{
			"title": "Mes1",
			"archive": false		
		},
		{
			"title": "Mes1",
			"archive": true
		}
	]
}


При выборке хочу получить такой:
{
	"name": "Doc1",
	"messages": [
		{
			"title": "Mes1",
			"archive": false		
		}
	]
}
  • Вопрос задан
  • 560 просмотров
Пригласить эксперта
Ответы на вопрос 2
kaiten
@kaiten
Архитектор ИС
db.documents.find({"a.b.archive": 0})

Можно сделать одним запросом. Переход по вложенности через точки.
Ответ написан
@lega
Вы можете не активные сообщения перекладывать в соседний массив и исключать их из запроса.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы