Use this strategy to get viewentries (columns) from the view. This is the fastest way to get data from the view. Doesn't support categorized views.
Allowed method
- GET
Parameters:
databaseName(String databaseName)
: name of the database to read data from, use "server!!path/database.nsf
" format; when omitted, current database is usedviewName(String viewName)
: name of the view; mandatory
Let's assume our database has view called (ByTopic).
router.GET('topics') { strategy(VIEWENTRIES) { viewName('(ByTopic)') } mapJson 'Topic', json:'topic', type:'STRING' mapJson '\$124', json:'author', type:'STRING' }
mapJson
expects to get programmatic name of the column, json
name and type
(allowed types are STRING, DATETIME and DOUBLE, for multi-value columns use ARRAY_OF_STRING, ARRAY_OF_DATETIME and ARRAY_OF_DOUBLE).
If programmatic name contains $
, you must escape it: \$
You can also use @unid
to get universal id of the documents corresponding with the viewentries.
With route defined above, URL http://server.name/path-to/db.nsf/xsp/.xrest/topics
will return all viewentries (columns) from view (ByTopic)
.
Returned JSON will contain an array of columns from the view, such as:
[ { "author": "Martin Jinoch", "topic": "100009" }, { "author": "Martin Jinoch", "topic": "100008" }, { "author": "Martin Jinoch", "topic": "100007" }, { "author": "Martin Jinoch", "topic": "100006" }, { "author": "Martin Jinoch", "topic": "100005" }, { "author": "Martin Jinoch", "topic": "100004" }, { "author": "Martin Jinoch", "topic": "100003" }, { "author": "Martin Jinoch", "topic": "100002" }, { "author": "Martin Jinoch", "topic": "100001" }, { "author": "Martin Jinoch", "topic": "100000" }, { "author": "Martin Jinoch", "topic": "10000" } ]
Related articles