src/anonimongo/collections

Search:
Group by:
Source   Edit  

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:
  1. Collection invoke methods
  2. Got the query necessary
  3. Users chose how to run the query e.g.
    1. Find a document about it
    2. Find several documents about it
    3. Iterate the documents for it
Query will return Cursor that implement items iterators to iterate whether firstBatch field or nextBatch field and will immediately getMore if it's empty.

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 iter(q: Query[AsyncSocket]): Future[Cursor[AsyncSocket]] {.
    ...stackTrace: false, raises: [Exception, ValueError],
    tags: [RootEffect, TimeEffect, WriteIOEffect, ReadIOEffect], forbids: [].}
Source   Edit  
proc iter(q: Query[Socket]): Cursor[Socket] {....raises: [ValueError, Exception,
    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  

Iterators

iterator items[S: MultiSock](cur: Cursor[S]): BsonDocument
Source   Edit  
iterator pairs(cur: Cursor): (int, BsonDocument)
Source   Edit