Name of the field for which to collect unique values
The query used to select records
Options to apply
An input range with items of type R (Bson by default) is returned.
import std.algorithm : equal; import vibe.db.mongo.mongo; void test() { auto db = connectMongoDB("127.0.0.1").getDatabase("test"); auto coll = db["collection"]; coll.drop(); coll.insertOne(["a": "first", "b": "foo"]); coll.insertOne(["a": "first", "b": "bar"]); coll.insertOne(["a": "first", "b": "bar"]); coll.insertOne(["a": "second", "b": "baz"]); coll.insertOne(["a": "second", "b": "bam"]); auto result = coll.distinct!string("b", ["a": "first"]); assert(result.equal(["foo", "bar"])); }
Returns an input range of all unique values for a certain field for records matching the given query.