-
Notifications
You must be signed in to change notification settings - Fork 1
Snippets
Dannes Wessels edited this page Nov 2, 2015
·
7 revisions
Using default demo data: list al design documents in beersample:
xquery version "3.0";
import module namespace couchbase = "http://exist-db.org/couchbase/db"
at "java:org.exist.couchbase.xquery.CouchbaseModule";
let $clusterId := couchbase:connect("couchbase://localhost")
let $names := couchbase:list-design-documents($clusterId, "beer-sample")
let $results := for $name in $names return ($name, couchbase:get-design-document($clusterId, "beer-sample", $name))
let $close := couchbase:close($clusterId)
return $resultsreturns
beer
{"spatial":{},"views":{"brewery_beers":{"map":"function(doc, meta) {\n switch(doc.type) {\n case \"brewery\":\n emit([meta.id]);\n break;\n case \"beer\":\n if (doc.brewery_id) {\n emit([doc.brewery_id, meta.id]);\n }\n break;\n }\n}\n"},"by_location":{"reduce":"_count","map":"function (doc, meta) {\n if (doc.country, doc.state, doc.city) {\n emit([doc.country, doc.state, doc.city], 1);\n } else if (doc.country, doc.state) {\n emit([doc.country, doc.state], 1);\n } else if (doc.country) {\n emit([doc.country], 1);\n }\n}"}}}xquery version "3.0";
import module namespace couchbase = "http://exist-db.org/couchbase/db"
at "java:org.exist.couchbase.xquery.CouchbaseModule";
let $clusterId := couchbase:connect("couchbase://localhost")
let $results := couchbase:n1ql($clusterId, "travel-sample", 'SELECT COUNT(*) FROM `travel-sample`')
let $close := couchbase:close($clusterId)
return $resultsand a bit more here.
A good test sample:
{
"firstName": "John",
"lastName": "Smith",
"age": 25,
"address": {
"streetAddress": "21 2nd Street",
"city": "New York",
"state": "NY",
"postalCode": "10021"
},
"phoneNumber": [
{
"type": "home",
"number": "212 555-1234"
},
{
"type": "fax",
"number": "646 555-4567"
}
],
"gender": {
"type": "male"
}
}