MongoCursor.sort

Controls the order in which the query returns matching documents.

This method must be called before starting to iterate, or an exception will be thrown. If multiple calls to sort() are issued, only the last one will have an effect.

struct MongoCursor(DocType = Bson)
sort
(
T
)
()

Parameters

order T

A BSON object convertible value that defines the sort order of the result. This BSON object must be structured according to the MongoDB documentation (see below).

Return Value

Reference to the modified original cursor instance.

Throws

An exception if there is a query or communication error. Also throws if the method was called after beginning of iteration.

Examples

import vibe.core.log;
import vibe.db.mongo.mongo;

void test()
@safe {
	auto db = connectMongoDB("127.0.0.1").getDatabase("test");
	auto coll = db["testcoll"];

	// find all entries in reverse date order
	foreach (entry; coll.find().sort(["date": -1]))
		() @safe { logInfo("Entry: %s", entry); } ();

	// the same, but using a struct to avoid memory allocations
	static struct Order { int date; }
	foreach (entry; coll.find().sort(Order(-1)))
		logInfo("Entry: %s", entry);
}

See Also

Meta