camel-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From build...@apache.org
Subject svn commit: r999701 - in /websites/production/camel/content: cache/main.pageCache mongodb.html
Date Thu, 20 Oct 2016 11:19:52 GMT
Author: buildbot
Date: Thu Oct 20 11:19:52 2016
New Revision: 999701

Log:
Production update by buildbot for camel

Modified:
    websites/production/camel/content/cache/main.pageCache
    websites/production/camel/content/mongodb.html

Modified: websites/production/camel/content/cache/main.pageCache
==============================================================================
Binary files - no diff available.

Modified: websites/production/camel/content/mongodb.html
==============================================================================
--- websites/production/camel/content/mongodb.html (original)
+++ websites/production/camel/content/mongodb.html Thu Oct 20 11:19:52 2016
@@ -129,18 +129,18 @@
     .to("mongodb:myDb?database=flights&collection=tickets&operation=findOneByQuery")
     .to("mock:resultFindOneByQuery");
 ]]></script>
-</div></div><div class="confluence-information-macro confluence-information-macro-tip"><p
class="title">Supports fields filter</p><span class="aui-icon aui-icon-small aui-iconfont-approve
confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>This
operation supports specifying a fields filter. See <a shape="rect" href="#MongoDB-FieldsFilter">Specifying
a fields filter</a>.</p></div></div><h4 id="MongoDB-findAll">findAll</h4><p>The
<code>findAll</code> operation returns all documents matching a query, or none
at all, in which case all documents contained in the collection are returned. <strong>The
query object is extracted from the IN message body</strong>, i.e. it should be of type
<code>DBObject</code> or convertible to <code>DBObject</code>. It
can be a JSON String or a Hashmap. See <a shape="rect" href="#MongoDB-Typeconversions">#Type
conversions</a> for more info.</p><p>Example with no query (returns all
object in the collection):</p><div cla
 ss="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent
pdl">
+</div></div><div class="confluence-information-macro confluence-information-macro-tip"><p
class="title">Supports fields filter</p><span class="aui-icon aui-icon-small aui-iconfont-approve
confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>This
operation supports specifying a fields filter. See <a shape="rect" href="#MongoDB-FieldsFilter">Specifying
a fields filter</a>.</p></div></div><h4 id="MongoDB-findAll">findAll</h4><p>The
<code>findAll</code> operation returns all documents matching a query. If your
query is empty, all of the documents stored will match and be returned. <strong>The
query object is extracted from the IN message body</strong>, i.e. it should be of type
<code>DBObject</code> or convertible to <code>DBObject</code>. It
can be a JSON String or a Hashmap. See <a shape="rect" href="#MongoDB-Typeconversions">#Type
conversions</a> for more info.</p><p>Example with no query (returns all
documents in the collection):</p><div class=
 "code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[from(&quot;direct:findAll&quot;)
     .to(&quot;mongodb:myDb?database=flights&amp;collection=tickets&amp;operation=findAll&quot;)
     .to(&quot;mock:resultFindAll&quot;);
 ]]></script>
-</div></div><p>Example with a query (returns all matching results):</p><div
class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent
pdl">
+</div></div><p>Example with a query (returns all matching documents):</p><div
class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent
pdl">
 <script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[from(&quot;direct:findAll&quot;)
     .setBody().constant(&quot;{ \&quot;name\&quot;: \&quot;Raul Kripalani\&quot;
}&quot;)
     .to(&quot;mongodb:myDb?database=flights&amp;collection=tickets&amp;operation=findAll&quot;)
     .to(&quot;mock:resultFindAll&quot;);
 ]]></script>
-</div></div><p>Paging and efficient retrieval is supported via the following
headers:</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th
colspan="1" rowspan="1" class="confluenceTh"><p>Header key</p></th><th
colspan="1" rowspan="1" class="confluenceTh"><p>Quick constant</p></th><th
colspan="1" rowspan="1" class="confluenceTh"><p>Description (extracted from MongoDB
API doc)</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Expected
type</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelMongoDbNumToSkip</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>MongoDbConstants.NUM_TO_SKIP</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>Discards a given number of elements
at the beginning of the cursor.</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>int/Integer</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelMongoDbLimit</code></p></td><td
colspan
 ="1" rowspan="1" class="confluenceTd"><p><code>MongoDbConstants.LIMIT</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>Limits the number of elements returned.</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>int/Integer</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelMongoDbBatchSize</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>MongoDbConstants.BATCH_SIZE</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>Limits the number of elements returned
in one batch. A cursor typically fetches a batch of result objects and store them locally.
If batchSize is positive, it represents the size of each batch of objects retrieved. It can
be adjusted to optimize performance and limit data transfer. If batchSize is negative, it
will limit of number objects returned, that fit within the max batch size limit (usually 4MB),
and cursor will be closed. For example if batchSize is -10, then the server 
 will return a maximum of 10 documents and as many as can fit in 4MB, then close the cursor.
Note that this feature is different from limit() in that documents must fit within a maximum
size, and it removes the need to send a request to close the cursor server-side. The batch
size can be changed even after a cursor is iterated, in which case the setting will apply
on the next batch retrieval.</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>int/Integer</p></td></tr></tbody></table></div><p>Additionally,
you can set a sortBy criteria by putting the relevant <code>DBObject</code> describing
your sorting in the <code>CamelMongoDbSortBy</code> header, quick constant: <code>MongoDbConstants.SORT_BY</code>.</p><p>The
<code>findAll</code> operation will also return the following OUT headers to enable
you to iterate through result pages if you are using paging:</p><div class="table-wrap"><table
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>
 Header key</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Quick
constant</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description
(extracted from MongoDB API doc)</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Data
type</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelMongoDbResultTotalSize</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>MongoDbConstants.RESULT_TOTAL_SIZE</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>Number of objects matching the query.
This does not take limit/skip into consideration.</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>int/Integer</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelMongoDbResultPageSize</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>MongoDbConstants.RESULT_PAGE_SIZE</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>Number of objects matc
 hing the query. This does not take limit/skip into consideration.</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>int/Integer</p></td></tr></tbody></table></div><div
class="confluence-information-macro confluence-information-macro-tip"><p class="title">Supports
fields filter</p><span class="aui-icon aui-icon-small aui-iconfont-approve confluence-information-macro-icon"></span><div
class="confluence-information-macro-body"><p>This operation supports specifying a
fields filter. See <a shape="rect" href="#MongoDB-FieldsFilter">Specifying a fields
filter</a>.</p></div></div><p><span class="confluence-anchor-link"
id="MongoDB-FieldsFilter"></span></p><h4 id="MongoDB-count">count</h4><p>Returns
the total number of objects in a collection, returning a Long as the OUT message body.<br
clear="none">The following example will count the number of records in the "dynamicCollectionName"
collection. Notice how dynamicity is enabled, and as a result, the operation will not run
against 
 the "notableScientists" collection, but against the "dynamicCollectionName" collection.</p><div
class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent
pdl">
+</div></div><p>Paging and efficient retrieval is supported via the following
headers:</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th
colspan="1" rowspan="1" class="confluenceTh"><p>Header key</p></th><th
colspan="1" rowspan="1" class="confluenceTh"><p>Quick constant</p></th><th
colspan="1" rowspan="1" class="confluenceTh"><p>Description (extracted from MongoDB
API doc)</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Expected
type</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelMongoDbNumToSkip</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>MongoDbConstants.NUM_TO_SKIP</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>Discards a given number of elements
at the beginning of the cursor.</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>int/Integer</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelMongoDbLimit</code></p></td><td
colspan
 ="1" rowspan="1" class="confluenceTd"><p><code>MongoDbConstants.LIMIT</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>Limits the number of elements returned.</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>int/Integer</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelMongoDbBatchSize</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>MongoDbConstants.BATCH_SIZE</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>Limits the number of elements returned
in one batch. A cursor typically fetches a batch of result objects and store them locally.
If batchSize is positive, it represents the size of each batch of objects retrieved. It can
be adjusted to optimize performance and limit data transfer. If batchSize is negative, it
will limit of number objects returned, that fit within the max batch size limit (usually 4MB),
and cursor will be closed. For example if batchSize is -10, then the server 
 will return a maximum of 10 documents and as many as can fit in 4MB, then close the cursor.
Note that this feature is different from limit() in that documents must fit within a maximum
size, and it removes the need to send a request to close the cursor server-side. The batch
size can be changed even after a cursor is iterated, in which case the setting will apply
on the next batch retrieval.</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>int/Integer</p></td></tr></tbody></table></div><p>You
can also "<em>stream</em>" the documents returned from the server into your route
by including&#160;<span><code>outputType=DBCursor</code> (Camel 2.16+)
as an endpoint option which may prove simpler than setting the above headers. This hands your
Exchange the DBCursor from the Mongo driver, just as if you were executing the&#160;<code>findAll()</code>
within the Mongo shell, allowing your route to iterate over the results. By default and without
this option, this component will load 
 the documents from the driver's cursor into a List and return this to your route - which
may result in a large number of in-memory objects. Remember, with a DBCursor do not ask for
the number of documents matched - see the MongoDB documentation site for details.</span></p><p>Additionally,
you can set a sortBy criteria by putting the relevant <code>DBObject</code> describing
your sorting in the <code>CamelMongoDbSortBy</code> header, quick constant: <code>MongoDbConstants.SORT_BY</code>.</p><p>The
<code>findAll</code> operation will also return the following OUT headers to enable
you to iterate through result pages if you are using paging:</p><div class="table-wrap"><table
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Header
key</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Quick
constant</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description
(extracted from MongoDB API doc)</p></th><th colspan="1" rowspan="1" cl
 ass="confluenceTh"><p>Data type</p></th></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelMongoDbResultTotalSize</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>MongoDbConstants.RESULT_TOTAL_SIZE</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>Number of objects matching the query.
This does not take limit/skip into consideration.</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>int/Integer</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelMongoDbResultPageSize</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>MongoDbConstants.RESULT_PAGE_SIZE</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>Number of objects matching the query.
This does not take limit/skip into consideration.</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>int/Integer</p></td></tr></tbody></table></div><div
class="confluence-information-macro confluence-info
 rmation-macro-tip"><p class="title">Supports fields filter</p><span class="aui-icon
aui-icon-small aui-iconfont-approve confluence-information-macro-icon"></span><div
class="confluence-information-macro-body"><p>This operation supports specifying a
fields filter. See <a shape="rect" href="#MongoDB-FieldsFilter">Specifying a fields
filter</a>.</p></div></div><p><span class="confluence-anchor-link"
id="MongoDB-FieldsFilter"></span></p><h4 id="MongoDB-count">count</h4><p>Returns
the total number of objects in a collection, returning a Long as the OUT message body.<br
clear="none">The following example will count the number of records in the "dynamicCollectionName"
collection. Notice how dynamicity is enabled, and as a result, the operation will not run
against the "notableScientists" collection, but against the "dynamicCollectionName" collection.</p><div
class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent
pdl">
 <script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[//
from(&quot;direct:count&quot;).to(&quot;mongodb:myDb?database=tickets&amp;collection=flights&amp;operation=count&amp;dynamicity=true&quot;);
 Long result = template.requestBodyAndHeader(&quot;direct:count&quot;, &quot;irrelevantBody&quot;,
MongoDbConstants.COLLECTION, &quot;dynamicCollectionName&quot;);
 assertTrue(&quot;Result is not of type Long&quot;, result instanceof Long);



Mime
View raw message