Фильтры в LoopBack API в поле даты JSONB - PullRequest
0 голосов
/ 27 мая 2018

У меня есть модель "Test", которая включает в себя другую модель "General" в качестве объекта типа.DB: PostgreSQL

{
    "name": "Test",
    "base": "PersistedModel",
    "properties": {
        "srNo": {
            "type": "string"
        },
        "genDetail": {
            "type": "General"
        }
    }
}

{
    "name": "General",
    "base": "PersistedModel",
    "properties": {
        "country": {
            "type": "string"
        },
        "accntOpenDate": {
            "type": "date"
        }
    }
}

Я разместил данные в тестовой модели вместе с общими данными модели.Все данные хранятся в тестовой модели, а общие данные модели хранятся в JSONB.Теперь я хочу фильтровать на основе поля даты в JSONB.Я могу сделать фильтр для строковых полей [страна].

filter : {"where":{"genDetail.country": "INDIA"}}

Но для поля даты, когда я пытаюсь с подобным запросом, получаю ошибку.

filter : {"where":{"genDetail.accntOpenDate": {"lte": "2017-05-24"}}}

{
  "error": {
    "name": "error",
    "status": 500,
    **"message": "operator does not exist: text <= timestamp with time zone",**
    "length": 232,
    "severity": "ERROR",
    "code": "42883",
    "hint": "No operator matches the given name and argument type(s). You might need to add explicit type casts.",
    "position": "540",
    "file": "src\\backend\\parser\\parse_oper.c",
    "line": "722",
    "routine": "op_error",
    "stack": "error: operator does not exist: text <= timestamp with time zone\n    at Connection.parseE (D:\\EVFoundation\\CHECKLIST\\collaterals\\node_modules\\pg\\lib\\connection.js:567:11)\n    at Connection.parseMessage (D:\\EVFoundation\\CHECKLIST\\collaterals\\node_modules\\pg\\lib\\connection.js:391:17)\n    at Socket.<anonymous> (D:\\EVFoundation\\CHECKLIST\\collaterals\\node_modules\\pg\\lib\\connection.js:129:22)\n    at emitOne (events.js:116:13)\n    at Socket.emit (events.js:211:7)\n    at addChunk (_stream_readable.js:263:12)\n    at readableAddChunk (_stream_readable.js:250:11)\n    at Socket.Readable.push (_stream_readable.js:208:10)\n    at TCP.onread (net.js:594:20)"
  }
}
...