Procs
proc addWriteConcern(q: var BsonDocument; db: Database; wt: BsonBase)
- Helper that will modify add writeConcern to BsonDocument query based on writeConcer data given. If it's nil and Mongo.writeConcern also nil, bypass without adding this field in query. Source Edit
proc crudops(db: Database[AsyncSocket]; q: BsonDocument; dbname = ""; cmd = ckRead): Future[BsonDocument] {....gcsafe, stackTrace: false, raises: [Exception, ValueError], tags: [RootEffect, TimeEffect, WriteIOEffect, ReadIOEffect], forbids: [].}
- About the same as proceed but this will return a BsonDocument compared to proceed that return WriteResult. Source Edit
proc crudops(db: Database[Socket]; q: BsonDocument; dbname = ""; cmd = ckRead): BsonDocument {. ...gcsafe, raises: [KeyError, ValueError, MongoError, IOError, OSError, Exception, SnappyError, ZippyError, SslError, TimeoutError], tags: [WriteIOEffect, ReadIOEffect, RootEffect, TimeEffect], forbids: [].}
- About the same as proceed but this will return a BsonDocument compared to proceed that return WriteResult. Source Edit
proc epilogueCheck(reply: ReplyFormat; target: var string): bool {. ...raises: [KeyError, ValueError, Exception], tags: [RootEffect], forbids: [].}
- Helper utility to check and modify string reason if the operation wasn't success. Source Edit
proc getWResult(b: BsonDocument): WriteResult {. ...raises: [KeyError, ValueError, Exception], tags: [RootEffect], forbids: [].}
- Helper to fetch a WriteResult of kind wkMany. Source Edit
proc proceed(db: Database[AsyncSocket]; q: BsonDocument; dbname = ""; cmd = ckRead; needCompress = true): Future[WriteResult] {. ...stackTrace: false, raises: [Exception, ValueError], tags: [RootEffect, TimeEffect, WriteIOEffect, ReadIOEffect], forbids: [].}
- Helper utility that basically utilize another two main operations sendops and epilogueCheck. Source Edit
proc proceed(db: Database[Socket]; q: BsonDocument; dbname = ""; cmd = ckRead; needCompress = true): WriteResult {....raises: [KeyError, ValueError, MongoError, IOError, OSError, Exception, SnappyError, ZippyError, SslError, TimeoutError], tags: [WriteIOEffect, ReadIOEffect, RootEffect, TimeEffect], forbids: [].}
- Helper utility that basically utilize another two main operations sendops and epilogueCheck. Source Edit
proc sendOps(q: BsonDocument; db: Database[AsyncSocket]; name = ""; cmd = ckRead; compression = cidNoop): Future[ReplyFormat] {....gcsafe, stackTrace: false, raises: [Exception, ValueError], tags: [RootEffect, TimeEffect, WriteIOEffect, ReadIOEffect], forbids: [].}
- A helper utility which greatly simplify actual Database command queries. Any new command implementation usually use this helper proc. Cmd argument is needed to recognize what kind of command operation to be sent. Source Edit
proc sendOps(q: BsonDocument; db: Database[Socket]; name = ""; cmd = ckRead; compression = cidNoop): ReplyFormat {....gcsafe, raises: [KeyError, ValueError, MongoError, IOError, OSError, Exception, SnappyError, ZippyError, SslError, TimeoutError], tags: [WriteIOEffect, ReadIOEffect, RootEffect, TimeEffect], forbids: [].}
- A helper utility which greatly simplify actual Database command queries. Any new command implementation usually use this helper proc. Cmd argument is needed to recognize what kind of command operation to be sent. Source Edit
Templates
template addConditional(q: var BsonDocument; field: string; val: BsonBase)
- Add any optional boolean field to query if it's true. Source Edit
template addOptional(q: var BsonDocument; name: string; f: BsonBase)
- Add any optional field to query if it's not nil. Source Edit