2016-03-03 3 views
5

Ich versuche, die Gesamtgröße aller Gesamtstrukturen zu erhalten, die an eine bestimmte Datenbank angehängt sind.Um die Gesamtgröße aller Gesamtstrukturen zu erhalten, die an eine bestimmte Datenbank angehängt sind

Code unten verwenden Ich habe die Größe aller einzelnen Wälder bekam, sondern stecken, wie die Lösung zu erreichen:

for $db-id in xdmp:databases() 
let $db-name := xdmp:database-name($db-id) 
for $forests in xdmp:forest-status(xdmp:database-forests(xdmp:database($db-name))) 
let $space := $forests//forest:device-space 
let $f_name := $forests//forest:forest-name 
for $stand in $forests//forest:stands 
let $f_size := fn:sum($stand/forest:stand/forest:disk-size) 

Antwort

5

Ich glaube, Sie suchen nach etwas, wie:

xquery version "1.0-ml"; 

declare namespace forest = "http://marklogic.com/xdmp/status/forest"; 

for $db-id in xdmp:databases() 
let $db-name := xdmp:database-name($db-id) 
let $db-size := 
    fn:sum(
    for $f-id in xdmp:database-forests($db-id) 
    let $f-status := xdmp:forest-status($f-id) 
    let $space := $f-status/forest:device-space 
    let $f-name := $f-status/forest:forest-name 
    let $f-size := 
     fn:sum(
     for $stand in $f-status/forest:stands/forest:stand 
     let $stand-size := $stand/forest:disk-size/fn:data(.) 
     return $stand-size 
    ) 
    return $f-size 
) 
order by $db-size descending 
return $db-name || " = " || $db-size 

HTH !

+0

Dank Man .. !! Es hat gut funktioniert ... :) –

5

Am besten rufen Sie xdmp:forest-status() mit einer Reihe von Wald IDs, anstatt eine Reihe von einzelnen Aufrufen zu machen, so dass die Arbeit parallel erfolgt.

xquery version "1.0-ml"; 

declare namespace fs = "http://marklogic.com/xdmp/status/forest"; 

let $include-replicas := fn:true() 
let $db := xdmp:database("MyDatabase") 
for $fs in xdmp:forest-status(xdmp:database-forests($db, $include-replicas)) 
return 
    fn:string-join(
    ($fs/fs:forest-name, fn:sum($fs/fs:stands/fs:stand/fs:disk-size)) ! fn:string(.), 
    " ") 
+0

Vielen Dank Jungs ... Es hat gut funktioniert ..... –

Verwandte Themen