Unsortierte Schnippsel für die MarkLogic Konsole, die an mancher Stelle hilfreich sein könnten:
| Beschreibung | Beispiel Code Schnippsel |
| Datenbank löschen |
xdmp:forest-clear( xdmp:database-forests( xdmp:database("xml-scrapper-content")))Plain Text |
| Über Collection iterieren |
for $x in collection("/topics") return (<fname>{ fn:document-uri($x) }</fname>, $x)Plain Text |
| Attribut / Knoten ersetzen |
for $ref in collection("/topics")//topicref let $topic := collection("/topics") [contains(.),$ref/@href)], $new := attribute href { $topic/topic/@id } return xdmp:node-replace($ref/@href, $new)Plain Text |
| Dokument "umbenennen" |
xdmp:document-insert( $new-uri, fn:doc($old-uri), xdmp:document-get-permissions($old-uri), xdmp:document-get-collections($old-uri) ), xdmp:document-delete($old-uri), xdmp:document-set-properties($new-uri, $propertiesPlain Text |
| Über verschiedene Collections bestimmte Elemente suchen |
for $element in cts:search(/descendant::*[self::b or self::i or self::u], cts:collection-query(("/topics", "/tasks", "/maps"))) return $element/text()Plain Text |
| Ein Element aus einem "Stack" holen und das Element vom Stack nehmen ("Pop") |
let $result := ( for $stack in collection("/stack-pushed") order by $stack/some-element/some-criterion descending return $stack)[1] return ( local:render-response($result), xdmp:document-set-collections(fn:document-uri($result), ("/stack-popped")Plain Text |
| Konvertierung nach JSON |
let $xml:= <tektur-dita> { for $x in collection("/topics") return $x } </tektur-dita>, $config := json:config("full") => map:with("whitespace", "preserve") return json:transform-to-json( $xml , $config )Plain Text |
| Gib mir alle Dokumente, die nach dem 23.05.2019 zur (temporalen) Collection "/topics" hinzugefügt wurden |
let $period := cts:period( xs:dateTime('0001-01-01T00:00:00'), xs:dateTime('2019-05-23T00:00:00') ) return cts:search( collection("/topics"), cts:period-range-query('system-axis', 'ISO_SUCCEEDS', $period) )Plain Text |
| cURL Parameter um eine DB zu leeren (als Array Einträge im Python Code) |
args = [
'curl',
'-X',
'POST',
'--anyauth',
'-u',
'admin:admin',
'--header',
'Content-Type:application/json',
'-d',
'{\"operation\":\"clear-database\"}',
'http://localhost:8002/manage/
v2/databases/mydb']Plain Text
|
| Elementare Permissions an Dokumenten setzen; xdmp:document-update-permissions zum Aktualisieren |
for $x in collection("/my-collection") return xdmp:document-set-permissions( fn:document-uri($x), ( xdmp:permission("my-role", "update"), xdmp:permission("my-role", "read" )))Plain Text |