Возвращается ли Sequelize findAll [Op.or] в порядок? - PullRequest
0 голосов
/ 09 июля 2020

Допустим, у меня есть этот самый базовый c поиск


const from = 'something';
const to = 'somethingElse';

const firstSearchCondition = { from, to: 'test' };
const secondSearchCondition = { from: 'test', to };

const models = await Model.findAll({
      where: {
        [Op.or]: [
          firstSearchCondition,
          secondSearchCondition
        ],
      },
    });

const [toTest, fromTest] = models;

if (toTest && fromTest) {
   // both models exist
}

, когда существуют обе модели, это toTest 100% от firstSearchCondition? или заказ не гарантирован

Ответы [ 2 ]

0 голосов
/ 09 июля 2020

Благодаря @Lev и некоторым другим исследованиям с моей стороны, решение, которое я придумал, выглядит примерно так:

надеюсь, что это поможет будущим людям (если у вас есть идея сделать это лучше, ударь меня)

let toTest = null;
let fromTest = null;

for (let i = 0; i < models.length; i += 1) {
  if (models[i].to === 'test') {
          toTest = models[i];
  } else {
          fromTest = models[i];
  }
}

// check here if both exist

0 голосов
/ 09 июля 2020

Заказ не гарантируется, если вы не используете пункт order by. Независимо от запроса.

...