//////////////////////////////////////////////////////////////////////////////// /// @brief installation guide /// /// @file /// /// DISCLAIMER /// /// Copyright 2012 triAGENS GmbH, Cologne, Germany /// /// 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. /// /// Copyright holder is triAGENS GmbH, Cologne, Germany /// /// @author Dr. Frank Celler /// @author Copyright 2012, triAGENS GmbH, Cologne, Germany //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// /// @page SimpleQueriesTOC /// ///
    ///
  1. @ref SimpleQueriesQueries ///
      ///
    1. @ref SimpleQueryDocument "db.@FA{collection}.document(@FA{document-reference})"
    2. ///
    3. @ref SimpleQueryAll "db.@FA{collection}.all()"
    4. ///
    5. @ref SimpleQueryByExample "db.@FA{collection}.byExample()"
    6. ///
    7. @ref SimpleQueryCount "@FA{query}.count()"
    8. ///
    ///
  2. ///
  3. @ref SimpleQueriesGeoQueries ///
      ///
    1. @ref SimpleQueryNear "db.@FA{collection}.near()"
    2. ///
    3. @ref SimpleQueryWithin "db.@FA{collection}.within()"
    4. ///
    5. @ref SimpleQueryGeo "db.@FA{collection}.geo()"
    6. ///
    ///
  4. ///
  5. @ref SimpleQueriesEdgesQueries ///
      ///
    1. @ref SimpleQueryEdges "edges.@FA{collection}.edges()"
    2. ///
    3. @ref SimpleQueryInEdges "edges.@FA{collection}.inEdges()"
    4. ///
    5. @ref SimpleQueryOutEdges "edges.@FA{collection}.outEdges()"
    6. ///
    ///
  6. ///
  7. @ref SimpleQueriesPagination ///
      ///
    1. @ref SimpleQueryLimit "@FA{query}.limit(@FA{limit})"
    2. ///
    3. @ref SimpleQuerySkip "@FA{query}.skip(@FA{skip})"
    4. ///
    ///
  8. ///
  9. @ref SimpleQueriesSequentialAccess ///
      ///
    1. @ref SimpleQueryHasNext "@FA{query}.hasNext()"
    2. ///
    3. @ref SimpleQueryNext "@FA{query}.next()"
    4. ///
    ///
  10. ///
//////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// /// @page SimpleQueries Simple Queries /// /// Simple queries can be used if the query condition is straight forward /// simple, i. e., a document reference, all documents, a query-by-example, or a /// simple geo query. In a simple query you can specify exactly one collection /// and one condition. The result can then be sorted and result can be split /// into pages. /// ///
/// @copydoc SimpleQueriesTOC ///
/// /// @section SimpleQueriesQueries Queries ///////////////////////////////////////// /// /// @anchor SimpleQueryDocument ///
/// /// @anchor SimpleQueryAll /// @copydetails JSF_AvocadoCollection_prototype_all ///
/// /// @anchor SimpleQueryByExample /// @copydetails JSF_AvocadoCollection_prototype_byExample ///
/// /// @anchor SimpleQueryCount /// @copydetails JSF_SimpleQuery_prototype_count /// /// @section SimpleQueriesGeoQueries Geo Queries //////////////////////////////////////////////// /// /// The AvocadoDB allows to selects documents based on geographic /// coordinates. In order for this to work, a geo-spatial index must be defined. /// This index will use a very elaborate algorithm to lookup neighbours that is /// a magnitude faster than a simple R* index. /// /// In general a geo coordinate is a pair of latitude and longitude. This can /// either be an list with two elements like @CODE{[ -10\, +30 ]} (latitude /// first, followed by longitude) or an object like @CODE{{ lon: -10\, lat: +30 /// }}. In order to find all documents within a given radius around a /// coordinate use the @FN{within} operator. In order to find all /// documents near a given document use the @FN{near} operator. /// /// It is possible to define more than one geo-spatial index per collection. In /// this case you must give a hint using the @FN{geo} operator which of indexes /// should be used in a query. /// ///
/// /// @anchor SimpleQueryNear /// @copydetails JSF_AvocadoCollection_prototype_near ///
/// /// @anchor SimpleQueryWithin /// @copydetails JSF_AvocadoCollection_prototype_within ///
/// /// @anchor SimpleQueryGeo /// @copydetails JSF_AvocadoCollection_prototype_geo /// /// @section SimpleQueriesEdgesQueries Edges Queries //////////////////////////////////////////////////// /// /// @anchor SimpleQueryEdges /// @copydetails JS_EdgesQuery ///
/// /// @anchor SimpleQueryInEdges /// @copydetails JS_InEdgesQuery ///
/// /// @anchor SimpleQueryOutEdges /// @copydetails JS_OutEdgesQuery /// /// @section SimpleQueriesPagination Pagination /////////////////////////////////////////////// /// /// If, for example, you display the result of a user search, then you are in /// general not interested in the completed result set, but only the first 10 or /// so documents. Or maybe the next 10 documents for the second page. In this /// case, you can the @FN{skip} and @FN{limit} operators. These operators works /// like LIMIT in MySQL. /// /// @FN{skip} used together with @FN{limit} can be used to implement pagination. /// The @FN{skip} operator skips over the first n documents. So, in order to /// create result pages with 10 result documents per page, you can use /// @CODE{skip(n * 10).limit(10)} to access the 10 documents on the n.th page. /// This result should be sorted, so that the pagination works in a predicable /// way. /// /// @anchor SimpleQueryLimit /// @copydetails JSF_SimpleQuery_prototype_limit ///
/// /// @anchor SimpleQuerySkip /// @copydetails JSF_SimpleQuery_prototype_skip /// /// @section SimpleQueriesSequentialAccess Sequential Access //////////////////////////////////////////////////////////// /// /// @anchor SimpleQueryHasNext /// @copydetails JSF_SimpleQuery_prototype_hasNext ///
/// /// @anchor SimpleQueryNext /// @copydetails JSF_SimpleQuery_prototype_next //////////////////////////////////////////////////////////////////////////////// // Local Variables: // mode: outline-minor // outline-regexp: "^\\(/// @brief\\|/// {@inheritDoc}\\|/// @addtogroup\\|// --SECTION--\\|/// @page\\|/// @\\}\\)" // End: