Loopback4: невозможно запросить Postgres значение массива с помощью inq - PullRequest
2 голосов
/ 29 января 2020

Работа с каркасом LB4 и Postgres для БД с использованием "loopback-connector- postgresql": «^ 3.7.0» для подключения к БД и возникновения проблем при использовании find запрос с оператором , где для извлечения списка данных путем сопоставления значения в массиве, и используемый запрос представлен ниже,

пример данных таблицы:

[{id: 1,
roll: [1,4]
},{  
id:2,
roll: [1,3],
},{
id:3,
roll: [2,4]
}]

В рулоне модели отмечен обязательный

Используемый запрос: this.repository.find({where: { roll: { inq: [4] }}});

Ожидаемый результат:

[{id: 1,
roll: [1,4]
},{
id:3,
roll: [2,4]
}]

для приведенного выше набора текста фрагмента в loopback4 выдает следующую ошибку

*Argument of type '{ where: { roll: { inq: number[]; }; }; }' is not assignable to parameter of type 'Filter<ModelRow>'.
  Types of property 'where' are incompatible.
    Type '{ row: { inq: number[]; }; }' is not assignable to type 'Condition<ModelRow> | AndClause<ModelRow> | OrClause<ModelRow> | undefined'.
      Type '{ row: { inq: number[]; }; }' is not assignable to type 'Condition<ModelRow>'.
        Types of property 'row' are incompatible.
          Type '{ inq: number[]; }' is not assignable to type 'PredicateComparison<number[]> | (number[] & string) | (number[] & number) | (number[] & false) | (number[] & true) | (number[] & Date) | undefined'.
            Type '{ inq: number[]; }' is not assignable to type 'undefined'.ts(2345)*
...