vibe.d beta banner
get vibe.d

Asynchronous I/O that doesn’t get in your way, written in D

Function MongoCursor.sort

Controls the order in which the query returns matching documents.

MongoCursor sort(T) (
  T order

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.


order 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).


Reference to the modified original cursor instance.


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

See Also


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

void test()
@safe {
	auto db = connectMongoDB("").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);


Sönke Ludwig


© 2012-2014 Sönke Ludwig


Subject to the terms of the MIT license, as written in the included LICENSE.txt file.