You are currently browsing legacy 3.0 version of documentation. Click here to switch to the newest 4.2 version.

We can help you with migration to the latest RavenDB

Contact Us Now
see on GitHub

Commands: Querying: How to query a database?

Use Query method to fetch results of a selected index according to a specified query.

Syntax

QueryResult Query(
	string index,
	IndexQuery query,
	string[] includes = null, 
	bool metadataOnly = false,
	bool indexEntriesOnly = false);

Parameters
index string A name of an index to query
query IndexQuery A query definition containing all information required to query a specified index.
includes string[] An array of relative paths that specify related documents ids which should be included in a query result.
metadataOnly bool True if returned documents should include only metadata without a document body.
indexEntriesOnly bool True if query results should contain only index entries.
Return Value
QueryResult Object which represents results of a specified query.

Example I

A sample Query method call that returns orders for a company specified:

result = store.DatabaseCommands.Query("Orders/Totals", new IndexQuery
{
	Query = "Company:companies/1"
});

List<RavenJObject> users = result.Results; // documents resulting from this query - orders

Example II

If a model of your documents is such that they reference others and you want to retrieve them together in a single query request, then you need to specify paths to properties that contain IDs of referenced documents:

result = store.DatabaseCommands.Query("Orders/Totals", new IndexQuery(),
	new[]
	{
		"Company",
		"Employee"
	});

List<RavenJObject> referencedDocs = result.Includes; // included documents - companies and employees