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);


Reply via email to