2016-08-05 13 views
0

Ich habe versucht, Marklogic WebUI-Konsole auf Port 8000 und Xquery zu verwenden. Ich habe versucht, den Code unten ein Dokument von URI abzurufen und alle Felder angezeigt werden:Marklogic Dokument-Get-Funktion Fehler

xdmp:document-get("/XXX/YYYY.json") 

Hinweis: dieser Code auf der API-Port 9033 (benutzerdefinierte API)

Leider ausgeführt wird, ich die folgende Fehlermeldung habe:

File open error: open '/XXX/YYYY.json': No such file or directory

Wenn ich die benutzerdefinierte API-Port 9033 (die gleiche wie in der Konsole) verwenden, kann ich mein Dokument ohne Fehler abrufen:

https://<mydomain>:9033/v1/documents?uri=/XXX/YYYY.json&category=metadata 

Irgendeine Idee?

Danke, Romain.

Antwort

4

erster Gedanke ist, dass es besser wäre, zu verwenden:

fn:doc("/XXX/YYYY.json") 

Auch stellen Sie sicher, dass die Datenquelle an die entsprechende Datenbank in der QueryConsole Schnittstelle eingestellt ist.

1

die Funktion zu verwenden ist fn:document

1

Romain- Verwenden Sie fn: doc() mit der Drop-down-Liste Console Content-Source auf die Datenbank, in der sich Ihr Dokument befindet.

xdmp: document-get eignet sich für Dateien außerhalb der Datenbank. Aus den Dokumenten unter docs.marklogic.com, auf dem Parameter $ location:

Der Speicherort des Eingabedokuments. Wenn das Schema des Speicherorts HTTP ist (dh wenn der String mit "http: //" beginnt), wird das Dokument über HTTP angefordert. Wenn das Schema eine Datei ist (dh wenn der String mit "file: //" beginnt), wird das Dokument über das Dateiprotokoll vom lokalen Dateisystem angefordert. Andernfalls wird das Dokument vom lokalen Dateisystem abgerufen. Auf dem Dateisystem kann der Pfad vollständig qualifiziert oder relativ sein. Relative Pfadnamen werden aus dem Verzeichnis aufgelöst, in dem MarkLogic Server installiert ist.