Collection Methods
Collection module implements selected APIs documented here in Mongo page. Not all APIs will be implemented as there are several APIs that just helper based on more basic APIs. This methods offload the actual operations to dbops crud module hence any resemblance on the parameter with a bit differents in returned values. The APIs methods implemented here can be viewed as higher-level than dbops crud module APIs.
Collection should return Query / Cursor type or anything that will run for the actual query. Users can set the values for queries setting before actual query request.
The strategies here will consist of:- Collection invoke methods
- Got the query necessary
- Users chose how to run the query e.g.
- Find a document about it
- Find several documents about it
- Iterate the documents for it
Procs
proc aggregate(c: Collection[AsyncSocket]; pipeline: seq[BsonDocument]; opt = bson()): Future[seq[BsonDocument]] {....stackTrace: false, raises: [Exception, ValueError], tags: [RootEffect, TimeEffect, WriteIOEffect, ReadIOEffect], forbids: [].}
- Source Edit
proc aggregate(c: Collection[Socket]; pipeline: seq[BsonDocument]; opt = bson()): seq[ BsonDocument] {....raises: [ValueError, Exception, KeyError, MongoError, IOError, OSError, SnappyError, ZippyError, SslError, TimeoutError], tags: [RootEffect, WriteIOEffect, ReadIOEffect, TimeEffect], forbids: [].}
- Source Edit
proc all(q: Query[AsyncSocket]): Future[seq[BsonDocument]] {....stackTrace: false, raises: [Exception, ValueError], tags: [RootEffect, TimeEffect, WriteIOEffect, ReadIOEffect], forbids: [].}
- Source Edit
proc all(q: Query[Socket]): seq[BsonDocument] {....raises: [ValueError, Exception, KeyError, MongoError, IOError, OSError, SnappyError, ZippyError, SslError, TimeoutError], tags: [RootEffect, WriteIOEffect, ReadIOEffect, TimeEffect], forbids: [].}
- Source Edit
proc bulkWrite(c: Collection[AsyncSocket]; operations: seq[BsonDocument]; wt = bsonNull(); ordered = true): Future[BulkResult] {. ...stackTrace: false, raises: [Exception, ValueError], tags: [RootEffect, TimeEffect, WriteIOEffect, ReadIOEffect], forbids: [].}
- Source Edit
proc bulkWrite(c: Collection[Socket]; operations: seq[BsonDocument]; wt = bsonNull(); ordered = true): BulkResult {....raises: [KeyError, ValueError, Exception, MongoError, IOError, OSError, SnappyError, ZippyError, SslError, TimeoutError], tags: [RootEffect, WriteIOEffect, ReadIOEffect, TimeEffect], forbids: [].}
- Source Edit
proc count(c: Collection[AsyncSocket]; query = bson(); opt = bson()): Future[int] {. ...stackTrace: false, raises: [Exception, ValueError], tags: [RootEffect, TimeEffect, WriteIOEffect, ReadIOEffect], forbids: [].}
- Source Edit
proc count(c: Collection[Socket]; query = bson(); opt = bson()): int {....raises: [ ValueError, Exception, KeyError, MongoError, IOError, OSError, SnappyError, ZippyError, SslError, TimeoutError], tags: [RootEffect, WriteIOEffect, ReadIOEffect, TimeEffect], forbids: [].}
- Source Edit
proc createIndex(c: Collection[AsyncSocket]; key: BsonDocument; opt = bson()): Future[ WriteResult] {....stackTrace: false, raises: [Exception, ValueError], tags: [RootEffect, TimeEffect, WriteIOEffect, ReadIOEffect], forbids: [].}
- Source Edit
proc createIndex(c: Collection[Socket]; key: BsonDocument; opt = bson()): WriteResult {....raises: [ KeyError, ValueError, Exception, MongoError, IOError, OSError, SnappyError, ZippyError, SslError, TimeoutError], tags: [RootEffect, WriteIOEffect, ReadIOEffect, TimeEffect], forbids: [].}
- Source Edit
proc `distinct`(c: Collection[AsyncSocket]; field: string; query = bson(); opt = bson()): Future[seq[BsonBase]] {....stackTrace: false, raises: [Exception, ValueError], tags: [RootEffect, TimeEffect, WriteIOEffect, ReadIOEffect], forbids: [].}
- Source Edit
proc `distinct`(c: Collection[Socket]; field: string; query = bson(); opt = bson()): seq[BsonBase] {....raises: [KeyError, ValueError, MongoError, IOError, OSError, Exception, SnappyError, ZippyError, SslError, TimeoutError], tags: [WriteIOEffect, ReadIOEffect, RootEffect, TimeEffect], forbids: [].}
- Source Edit
proc drop(c: Collection[AsyncSocket]; wt = bsonNull()): Future[WriteResult] {. ...stackTrace: false, raises: [Exception, ValueError], tags: [RootEffect, TimeEffect, WriteIOEffect, ReadIOEffect], forbids: [].}
- Source Edit
proc drop(c: Collection[Socket]; wt = bsonNull()): WriteResult {....raises: [ KeyError, ValueError, MongoError, IOError, OSError, Exception, SnappyError, ZippyError, SslError, TimeoutError], tags: [WriteIOEffect, ReadIOEffect, RootEffect, TimeEffect], forbids: [].}
- Source Edit
proc dropIndex(c: Collection[AsyncSocket]; indexes: BsonBase): Future[ WriteResult] {....stackTrace: false, raises: [Exception, ValueError], tags: [RootEffect, TimeEffect, WriteIOEffect, ReadIOEffect], forbids: [].}
- Source Edit
proc dropIndex(c: Collection[Socket]; indexes: BsonBase): WriteResult {....raises: [ KeyError, ValueError, MongoError, IOError, OSError, Exception, SnappyError, ZippyError, SslError, TimeoutError], tags: [WriteIOEffect, ReadIOEffect, RootEffect, TimeEffect], forbids: [].}
- Source Edit
proc dropIndexes(c: Collection[AsyncSocket]; indexes: seq[string]): Future[ WriteResult] {....stackTrace: false, raises: [Exception, ValueError], tags: [RootEffect, TimeEffect, WriteIOEffect, ReadIOEffect], forbids: [].}
- Source Edit
proc dropIndexes(c: Collection[Socket]; indexes: seq[string]): WriteResult {....raises: [ KeyError, ValueError, MongoError, IOError, OSError, Exception, SnappyError, ZippyError, SslError, TimeoutError], tags: [WriteIOEffect, ReadIOEffect, RootEffect, TimeEffect], forbids: [].}
- Source Edit
proc find(c: Collection[AsyncSocket]; query = bson(); projection = bsonNull()): Future[ Query[AsyncSocket]] {....stackTrace: false, raises: [Exception, ValueError], tags: [RootEffect], forbids: [].}
- Source Edit
proc find(c: Collection[Socket]; query = bson(); projection = bsonNull()): Query[ Socket] {....raises: [], tags: [], forbids: [].}
- Source Edit
proc findAll(c: Collection[AsyncSocket]; query = bson(); projection = bsonNull(); sort = bsonNull(); limit = 0): Future[ seq[BsonDocument]] {....stackTrace: false, raises: [Exception, ValueError], tags: [ RootEffect, TimeEffect, WriteIOEffect, ReadIOEffect], forbids: [].}
- Source Edit
proc findAll(c: Collection[Socket]; query = bson(); projection = bsonNull(); sort = bsonNull(); limit = 0): seq[BsonDocument] {....raises: [ ValueError, Exception, KeyError, MongoError, IOError, OSError, SnappyError, ZippyError, SslError, TimeoutError], tags: [RootEffect, WriteIOEffect, ReadIOEffect, TimeEffect], forbids: [].}
- Source Edit
proc findAndModify(c: Collection[AsyncSocket]; query = bson(); sort = bsonNull(); remove = false; update = bsonNull(); new = false; fields = bsonNull(); upsert = false; bypass = false; wt = bsonNull(); collation = bsonNull(); arrayFilters: seq[BsonDocument] = @[]): Future[BsonDocument] {. ...stackTrace: false, raises: [Exception, ValueError], tags: [RootEffect, TimeEffect, WriteIOEffect, ReadIOEffect], forbids: [].}
- Source Edit
proc findAndModify(c: Collection[Socket]; query = bson(); sort = bsonNull(); remove = false; update = bsonNull(); new = false; fields = bsonNull(); upsert = false; bypass = false; wt = bsonNull(); collation = bsonNull(); arrayFilters: seq[BsonDocument] = @[]): BsonDocument {....raises: [ ValueError, Exception, KeyError, MongoError, IOError, OSError, SnappyError, ZippyError, SslError, TimeoutError], tags: [RootEffect, WriteIOEffect, ReadIOEffect, TimeEffect], forbids: [].}
- Source Edit
proc findIter(c: Collection[AsyncSocket]; query = bson(); projection = bsonNull(); sort = bsonNull()): Future[ Cursor[AsyncSocket]] {....stackTrace: false, raises: [Exception, ValueError], tags: [ RootEffect, TimeEffect, WriteIOEffect, ReadIOEffect], forbids: [].}
- Source Edit
proc findIter(c: Collection[Socket]; query = bson(); projection = bsonNull(); sort = bsonNull()): Cursor[Socket] {....raises: [ValueError, Exception, KeyError, MongoError, IOError, OSError, SnappyError, ZippyError, SslError, TimeoutError], tags: [RootEffect, WriteIOEffect, ReadIOEffect, TimeEffect], forbids: [].}
- Source Edit
proc findOne(c: Collection[AsyncSocket]; query = bson(); projection = bsonNull(); sort = bsonNull()): Future[BsonDocument] {. ...gcsafe, stackTrace: false, raises: [Exception, ValueError], tags: [RootEffect, TimeEffect, WriteIOEffect, ReadIOEffect], forbids: [].}
- Source Edit
proc findOne(c: Collection[Socket]; query = bson(); projection = bsonNull(); sort = bsonNull()): BsonDocument {....gcsafe, raises: [ValueError, Exception, KeyError, MongoError, IOError, OSError, SnappyError, ZippyError, SslError, TimeoutError], tags: [RootEffect, WriteIOEffect, ReadIOEffect, TimeEffect], forbids: [].}
- Source Edit
proc insert(c: Collection[AsyncSocket]; docs: seq[BsonDocument]; opt = bson()): Future[ WriteResult] {....stackTrace: false, raises: [Exception, ValueError], tags: [RootEffect, TimeEffect, WriteIOEffect, ReadIOEffect], forbids: [].}
- Source Edit
proc insert(c: Collection[Socket]; docs: seq[BsonDocument]; opt = bson()): WriteResult {....raises: [ KeyError, ValueError, Exception, Exception, ValueError, KeyError, MongoError, IOError, OSError, SnappyError, ZippyError, SslError, TimeoutError], tags: [RootEffect, WriteIOEffect, ReadIOEffect, TimeEffect], forbids: [].}
- Source Edit
proc listIndexes(c: Collection[AsyncSocket]): Future[seq[BsonDocument]] {. ...stackTrace: false, raises: [Exception, ValueError], tags: [RootEffect, TimeEffect, WriteIOEffect, ReadIOEffect], forbids: [].}
- Source Edit
proc listIndexes(c: Collection[Socket]): seq[BsonDocument] {....raises: [KeyError, ValueError, MongoError, IOError, OSError, Exception, SnappyError, ZippyError, SslError, TimeoutError], tags: [WriteIOEffect, ReadIOEffect, RootEffect, TimeEffect], forbids: [].}
- Source Edit
proc one(q: Query[AsyncSocket]): Future[BsonDocument] {....gcsafe, stackTrace: false, raises: [Exception, ValueError], tags: [RootEffect, TimeEffect, WriteIOEffect, ReadIOEffect], forbids: [].}
- Source Edit
proc one(q: Query[Socket]): BsonDocument {....gcsafe, raises: [ValueError, Exception, KeyError, MongoError, IOError, OSError, SnappyError, ZippyError, SslError, TimeoutError], tags: [RootEffect, WriteIOEffect, ReadIOEffect, TimeEffect], forbids: [].}
- Source Edit
proc remove(c: Collection[AsyncSocket]; query, opt: BsonDocument): Future[ WriteResult] {....stackTrace: false, raises: [Exception, ValueError], tags: [RootEffect, TimeEffect, WriteIOEffect, ReadIOEffect], forbids: [].}
- Source Edit
proc remove(c: Collection[AsyncSocket]; query: BsonDocument; justone = false): Future[ WriteResult] {....stackTrace: false, raises: [Exception, ValueError], tags: [RootEffect, TimeEffect, WriteIOEffect, ReadIOEffect], forbids: [].}
- Source Edit
proc remove(c: Collection[AsyncSocket]; query: seq[BsonDocument]): Future[ WriteResult] {....stackTrace: false, raises: [Exception, ValueError], tags: [RootEffect, TimeEffect, WriteIOEffect, ReadIOEffect], forbids: [].}
- Source Edit
proc remove(c: Collection[Socket]; query, opt: BsonDocument): WriteResult {....raises: [ ValueError, Exception, Exception, KeyError, ValueError, MongoError, IOError, OSError, SnappyError, ZippyError, SslError, TimeoutError], tags: [RootEffect, WriteIOEffect, ReadIOEffect, TimeEffect], forbids: [].}
- Source Edit
proc remove(c: Collection[Socket]; query: BsonDocument; justone = false): WriteResult {....raises: [ Exception, KeyError, ValueError, MongoError, IOError, OSError, SnappyError, ZippyError, SslError, TimeoutError], tags: [WriteIOEffect, ReadIOEffect, RootEffect, TimeEffect], forbids: [].}
- Source Edit
proc remove(c: Collection[Socket]; query: seq[BsonDocument]): WriteResult {....raises: [ KeyError, ValueError, Exception, MongoError, IOError, OSError, SnappyError, ZippyError, SslError, TimeoutError], tags: [RootEffect, WriteIOEffect, ReadIOEffect, TimeEffect], forbids: [].}
- Source Edit
proc update(c: Collection[AsyncSocket]; query = bson(); updates = bsonNull(); opt = bson()): Future[WriteResult] {....stackTrace: false, raises: [Exception, ValueError], tags: [RootEffect, TimeEffect, WriteIOEffect, ReadIOEffect], forbids: [].}
- Source Edit
proc update(c: Collection[Socket]; query = bson(); updates = bsonNull(); opt = bson()): WriteResult {....raises: [ValueError, Exception, Exception, ValueError, KeyError, MongoError, IOError, OSError, SnappyError, ZippyError, SslError, TimeoutError], tags: [RootEffect, WriteIOEffect, ReadIOEffect, TimeEffect], forbids: [].}
- Source Edit