Mon goose запрос с несколькими условиями $ и и $ или - PullRequest
0 голосов
/ 21 марта 2020

Я пытаюсь выполнить запрос в понедельник goose, который требует нескольких условий для одной схемы, но, похоже, я не могу создать его правильно.

Схема следующая (упрощенная ):

const Event = new Schema ({
   owner: Number,
   contribs: [ Number ],
   status: String,   // can be "open" or "closed"
   end_date: Date
})

Учитывая число c 'user_id', мне нужно найти все События, которые разрешают все эти условия сразу:

  • владелец user_id ИЛИ содержит user_id
  • статус НЕ «закрыт» ИЛИ статус «закрыт» И end_date> two_days_a go

«two_days_a go» - это дата, вычисленная до создания запроса .

Я пробую этот фильтр, но он не работает:

let filter: any = {    
    $or: [
        { owner: user_id },
        { contribs: user_id }
    ],
    $and: [
        {
            $or: [
                { status: { $ne: "closed" } },
                {
                    $and:
                        [
                            { status: "closed" },
                            { updated: { $gte: two_days_ago } }
                        ]
                }
            ]
        }
    ]
};    

Возможно, это что-то глупое, но я не могу решить это. Пожалуйста, помогите: -)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...