Query vs DocumentQuery


  • RavenDB Queries can be executed using query or document_query, or by passing RQL directly to the server via raw_query.
    Learn more in Query Overview.

  • In the PHP client API, query methods and their equivalent documentQuery methods provide the same functionality. (This is different from the C# client implementation, which often provides different functionality for Query methods and their DocumentQuery counterparts.)
    The PHP documentation therefore often provides query usage samples without adding documentQuery examples as well.

  • In this page:


API support

  • query and documentQquery queries are translated to RQL and sent to the server.
  • Available query methods are listed here.
  • Available documentQuery methods and extensions are listed here.

queryand documentQuery equivalents

1.

$session->query(Order::class)

is equivalent to:

$session->advanced()->documentQuery(Order::class)

2.

$session->query(Order::class, Orders_ByShipToAndLines::class)

is equivalent to:

$session->advanced()->documentQuery(Order::class, Orders_ByShipToAndLines::class)

3.

$session->query(Order::class, Query::index("Orders/ByShipToAndLines"))

is equivalent to:

$session->advanced()->documentQuery(Order::class, "Orders/ByShipToAndLines", null, false);

4.

$session->query(Order::class, Query::collection("orders"))

is equivalent to:

$session->advanced()->documentQuery(Order::class, null, "orders", false);