We could keep the convenient function signature and api proc find*[T:Mongo|AsyncMongo](c: Collection[T], filter: Bson, fields: seq[string] = @[]): Cursor[T], but include the following for additional use-cases:
proc find*[T:Mongo|AsyncMongo](c: Collection[T], fields: varargs[Bson]): Cursor[T]
Internally Cursor[T].fields would have to be represented as a BSON object
It is currently not possible to perform complex find queries with projections such as
We could keep the convenient function signature and api
proc find*[T:Mongo|AsyncMongo](c: Collection[T], filter: Bson, fields: seq[string] = @[]): Cursor[T]
, but include the following for additional use-cases:proc find*[T:Mongo|AsyncMongo](c: Collection[T], fields: varargs[Bson]): Cursor[T]
Internally
Cursor[T].fields
would have to be represented as a BSON object