Wir testen derzeit JSONB als Datentyp für Auftragsdaten in einem System, das wir erstellen. Da das Dokument ziemlich groß ist, ist hier der erste Teil davon (der Teil, der wichtig ist):Wildcard beim Verfolgen von JSONB-Array in Postgres
{
"appMessage": {
"order": {
"customerSurname": "Tyreus",
"shipment": {
"asnNumber": "CC56477332",
"shippingStore": "3321"
},
"orderNumber": "7991218655",
"propositionCollectionStoreNumber": "5656",
"collectionPointId": "4",
"customerFirstname": "Isaac",
"orderLine": [{
"collectionWindowFrom": "2017-01-18T09:00:00+00:00",
"lineNo": "1",
"skuNo": "7654321",
"createdDateTime": "2017-01-17T17:54:31+00:00",
Das Problem, das wir konfrontiert sind, wenn es um die Anwendung einen Platzhalter, um etwas in einem Array kommt. Wie würde ich im obigen Beispiel eine Platzhaltersuche durchführen, um zu sagen: "Alle Datensätze mit einem SkuNo beginnend mit 7 abrufen"?
Außerhalb eines Arrays habe ich Wildcards getestet, wie:
SELECT
*
FROM
ORDERS
WHERE
ORDER_DATA->'appMessage'->'message'->>'enterpriseCode' LIKE 'TU%';
Mit Erfolg. Aber sobald Arrays die Gleichung eingeben, wird alles unklar ...
Jede Hilfe würde sehr geschätzt werden.