Tengo datos almacenados en una tabla de Postgres 11, una de las columnas tiene un objeto json como sigue:
| identificación | datos | Identificación del cliente |
|---|---|---|
| 1 | JSON | BR_123 |
{ "shed": false, "transactions": [ { "id": 1, "value": 5000, "depositDate": "2021-09-20T10:29:05.000Z", "expirationDate": "2022-03-29T10:29:05.000Z", "requestDate": "2021-09-17T17:04:43.000Z" } ], "applies": false, "importValue": null, "depositValue": null }Lo que estoy tratando de hacer es seleccionar todas las entradas que tienen un 'valor de transacciones' mayor o igual que una cantidad determinada.
Secuela:
const clients = await ComercialImports.findAll({ where: { status: 'Running' }, attributes: ['id', 'mode', 'importerId'], include: [ { model: ComercialImportsTransactions, as: 'importTransaction', attributes: ['id', 'data', 'clientId'], required: true, where: { data: { transactions: { value: { [Op.gte]: 5000 } } } } } ] });Desafortunadamente, por alguna razón, esta consulta no funcionará, ya que siempre arroja 0 resultados. Parece que no puedo acceder a ningún valor almacenado en la entrada de transacciones. Todas las demás entradas son accesibles (por ejemplo, puedo consultar todos los datos con 'cobertizo' = verdadero)
¿Qué estoy haciendo mal?