blob: 2888e3a8f787e67e21c1a1908b2d7f50819952cb [file]
.. Licensed under the Apache License, Version 2.0 (the "License"); you may not
.. use this file except in compliance with the License. You may obtain a copy of
.. the License at
..
.. http://www.apache.org/licenses/LICENSE-2.0
..
.. Unless required by applicable law or agreed to in writing, software
.. distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
.. WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
.. License for the specific language governing permissions and limitations under
.. the License.
.. _api/db/temp_view:
``/db/_temp_view``
==================
.. http:post:: /{db}/_temp_view
:synopsis: Executes a given view function for all documents and returns the result
Creates (and executes) a temporary view based on the view function
supplied in the JSON request.
The arguments also available to standard view requests also apply to
temporary views, but the execution of the view may take some time as it
relies on being executed at the time of the request. This means that for
every temporary view you create, the entire database will be read
one doc at a time and passed through the view function.
This should not be used on production CouchDB instances, and is purely a
convenience function for quick development testing. You should use a
defined view if you want to achieve the best performance.
See :ref:`api/ddoc/view` for more info.
**Request**:
.. code-block:: http
POST /db/_temp_view?group=true HTTP/1.1
Accept: application/json
Content-Length: 92
Content-Type: application/json
Host: localhost:5984
{
"map": "function(doc) { if (doc.value) { emit(doc.value, null); } }",
"reduce": "_count"
}
**Response**:
.. code-block:: http
HTTP/1.1 200 OK
Cache-Control: must-revalidate
Content-Type: application/json
Date: Tue, 13 Aug 2013 12:28:12 GMT
ETag: "AU33B3N7S9K4SAZSFA048HVB4"
Server: CouchDB (Erlang/OTP)
Transfer-Encoding: chunked
{
"rows": [
{
"key": -10,
"value": 1
},
{
"key": 10,
"value": 2
},
{
"key": 15,
"value": 1
}
]
}