1 /** 2 MongoDB operation flag definitions. 3 4 Copyright: © 2012-2016 RejectedSoftware e.K. 5 License: Subject to the terms of the MIT license, as written in the included LICENSE.txt file. 6 Authors: Sönke Ludwig 7 */ 8 module vibe.db.mongo.flags; 9 10 enum UpdateFlags { 11 none = 0, /// Normal update of a single document. 12 upsert = 1<<0, /// Creates a document if none exists. 13 multiUpdate = 1<<1, /// Updates all matching documents. 14 15 None = none, /// Deprecated compatibility alias 16 Upsert = upsert, /// Deprecated compatibility alias 17 MultiUpdate = multiUpdate /// Deprecated compatibility alias 18 } 19 20 enum IndexFlags { 21 none = 0, 22 unique = 1<<0, 23 dropDuplicates = 1<<2, 24 background = 1<<3, 25 sparse = 1<<4, 26 expireAfterSeconds = 1<<5, 27 28 None = none, /// Deprecated compatibility alias, use `none` instead. 29 Unique = unique, /// Deprecated compatibility alias, use `unique` instead. 30 DropDuplicates = dropDuplicates, /// Deprecated compatibility alias, use `dropDuplicates` instead. 31 Background = background, /// Deprecated compatibility alias, use `background` instead. 32 Sparse = sparse, /// Deprecated compatibility alias, use `sparse` instead. 33 ExpireAfterSeconds = expireAfterSeconds, /// Deprecated compatibility alias, use `expireAfterSeconds` instead. 34 } 35 36 enum InsertFlags { 37 none = 0, /// Normal insert. 38 continueOnError = 1<<0, /// For multiple inserted documents, continues inserting further documents after a failure. 39 40 None = none, /// Deprecated compatibility alias 41 ContinueOnError = continueOnError /// Deprecated compatibility alias 42 } 43 44 enum QueryFlags { 45 none = 0, /// Normal query 46 tailableCursor = 1<<1, /// 47 slaveOk = 1<<2, /// 48 oplogReplay = 1<<3, /// 49 noCursorTimeout = 1<<4, /// 50 awaitData = 1<<5, /// 51 exhaust = 1<<6, /// 52 partial = 1<<7, /// 53 54 None = none, /// Deprecated compatibility alias 55 TailableCursor = tailableCursor, /// Deprecated compatibility alias 56 SlaveOk = slaveOk, /// Deprecated compatibility alias 57 OplogReplay = oplogReplay, /// Deprecated compatibility alias 58 NoCursorTimeout = noCursorTimeout, /// Deprecated compatibility alias 59 AwaitData = awaitData, /// Deprecated compatibility alias 60 Exhaust = exhaust, /// Deprecated compatibility alias 61 Partial = partial /// Deprecated compatibility alias 62 } 63 64 enum DeleteFlags { 65 none = 0, 66 singleRemove = 1<<0, 67 68 None = none, /// Deprecated compatibility alias 69 SingleRemove = singleRemove /// Deprecated compatibility alias 70 } 71 72 enum ReplyFlags { 73 none = 0, 74 cursorNotFound = 1<<0, 75 queryFailure = 1<<1, 76 shardConfigStale = 1<<2, 77 awaitCapable = 1<<3, 78 79 None = none, /// Deprecated compatibility alias 80 CursorNotFound = cursorNotFound, /// Deprecated compatibility alias 81 QueryFailure = queryFailure, /// Deprecated compatibility alias 82 ShardConfigStale = shardConfigStale, /// Deprecated compatibility alias 83 AwaitCapable = awaitCapable /// Deprecated compatibility alias 84 }