Рефакторинг из $ куда агрегировать в mongodb (используя узел) - PullRequest
0 голосов
/ 29 января 2020

Работает следующий код:

    Ticket.find({
    $where: function() { return this.price > this.refunds.minimumPrice}
    }
    )

Но я понимаю, что использование агрегата быстрее, поэтому я изменил его на следующий код:

    Ticket.aggregate([
    {
        $addFields: {
                priceTest: { $cmp: [ this.price, this.purchasersMinimumPrice] }
        }
    },
    { $match: { priceTest: -1 } }
    ])

Это работает, когда я устанавливаю { $match: { priceTest: 0 } } но возвращает пустой массив, когда я установил { $match: { priceTest: -1 } } или { $match: { priceTest: 1 } }

Это самый быстрый способ выполнить запрос, который сравнивает поля и, если да, то где я ошибаюсь?

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