2017-09-27 2 views
0

So zu passen habe ich eine Abfrage wie folgt:Komponist Abfrage einen Teilnehmer Referenz

query selectOrder{ 
    description: "Select an Order that matches a Client reference and an Order Number" 
    statement: 
     SELECT com.x.Order 
     WHERE (client == _$client AND orderNumber == _$orderNumber) 
} 

Die Reihenfolge so etwas wie dieses:

asset Order identified by uuid { 
    o String uuid 
    --> Client client 
    o String orderNumber 
    --> Item[] items 
} 

Wie gebe ich den Verweis auf den Client die Abfrage?

Ich versuchte die Referenz und wurde aufgefordert, es zu jSON. Ich habe das versucht und es wird das Ding nicht analysieren - es gibt ein klares Problem mit dem Parsen der Abfrage.

Ich kann die Antwort nicht in den Dokumenten finden, also frage ich mich, ob jemand dies getan hat oder wenn ich die Client-ID anstelle der Referenz zum Client speichern und die Integrität verlieren muss.

EDIT: Für die Vollständigkeit der ersten Antwort unten.

Ich versuche, ein Element zum Array von Elementen hinzuzufügen. Mein Item-Objekt wird wie folgt definiert:

asset Item identified by uuid { 
    o String uuid 
    o DateTime timestamp 
    o String orderNumber 
    --> Client client 
    o String[] message 
} 

Wenn die Transaktion die einzelnen Objekt aufgerufen wird, übergeben in der Anwendung ist. Ich setze Item.client als _ $ Client-Wert in der Abfrage.

Sollte ich es mit "Ressource:" vorausgehend? Ich frage, weil ich dachte, das war schon in der Referenz-Zeichenfolge - zumindest ist es in der Ansicht auf dem Spielplatz.

EDIT2: So manuell konstruieren ich die folgende Variable:

var RSRC = 'resource:com.x.Client#XYZ123' 

Set, dass als Client in dieser Abfrage

return query('selectOrder', {agency : RSRC, orderNumber : orderNumber}); 

Aber ich bin immer noch diese bekommen:

Error: unknown operator "0" - should be one of $eq, $lte, $lt, $gt, $gte, $exists, $ne, $in, $nin, $size, $mod, $regex, $elemMatch, $type or $all

Was nun? Das Einbetten der Zeichenfolge "resource ..." in Anführungszeichen funktionierte ebenfalls nicht.

Antwort

1

Ihre Abfrage sieht gut aus, aber Sie müssen eine Zeichenfolge mit dem Format übergeben: resource:type.Name#instance für die Beziehung.

z. resource:org.acme.Car#123ABC

+0

Vielleicht hätte ich ausführlicher sein sollen. Ich werde das Original bearbeiten, um anzuzeigen, woher der _ $ Client kommt. –

Verwandte Themen