У меня есть коллекция mongodb, которая содержит объекты, которые имеют несколько свойств (возможно, много).Одним из них является массив другого типа объекта, и этот тип имеет логическое свойство StateChanged
.
. Я хочу сделать запрос, возвращающий все записи из этой коллекции, и отфильтровать массив, чтобы получить только документыс StateChanged = true
.
Вот что я уже сделал:
db.getCollection('Cycles').aggregate([
{
$project: {
_id: 0,
// Here I could add Field1: 1, Field2: 1,...
'Subcycles' : {
$filter : {
input: '$Subcycles',
as : 'sub',
cond: { $eq: ['$$sub.StateChanged',true]}
}
}
}
}
])
Однако это только приносит мне коллекцию "Subcycles".Я хочу включить другие поля в корневой документ.
Я мог бы указать их вручную в проекции (например, Поле 1: 1, Поле 2: 1, ...), но так как их может быть многополя, мне было интересно, существует ли способ привести их все автоматически.
Заранее спасибо!