/// <summary>
        /// Finds the mongo document specified.
        /// </summary>
        /// <returns>The found mongo document. Returns null if not found. </returns>
        /// <param name="field">Field to match to.</param>
        /// <param name="criteria">Criteria for the specified field. ie. "isBeta" : "true"</param>
        /// <param name="collectionName">Collection to edit, default value of "userData"</param>
        public static BsonDocument FindMongoDocument(string field, bool criteria, string collectionName = "userData")
        {
            ChangeCollection(collectionName);
            var result = MyMongoCollection.Find(FilterMongoDocument(field, criteria, collectionName)).FirstOrDefault();

            return(result);
        }
        /// <summary>
        /// Updates the document value for the given field.
        /// </summary>
        /// <param name="idValue">idValue's document to find.</param>
        /// <param name="field">Field to update in the document.</param>
        /// <param name="value">Value to change.</param>
        /// <param name="collectionName">Collection to edit, default value of "userData"</param>
        public static void UpdateDocumentValue(string idValue, string field, long value, string collectionName = "userData")
        {
            var filter = FilterMongoDocument("_id", idValue, collectionName);
            var update = new BsonDocument("$set", new BsonDocument {
                { field, value }
            });

            MyMongoCollection.FindOneAndUpdateAsync(filter, update);
        }
        /// <summary>
        /// Decrements the specified document field for the specified idValue by the given amount.
        /// </summary>
        /// <param name="idValue">idValue's document to find.</param>
        /// <param name="field">Field to update in the document.</param>
        /// <param name="decrementAmount">Decrement amount.</param>
        /// <param name="collectionName">Collection to edit, default value of "userData"</param>
        public static void DecrementDocument(bool idValue, string field, int decrementAmount = 0, string collectionName = "userData")
        {
            var filterUserName = FilterMongoDocument("_id", idValue, collectionName);
            var update         = new BsonDocument("$inc", new BsonDocument {
                { field, -decrementAmount }
            });

            MyMongoCollection.FindOneAndUpdateAsync(filterUserName, update);
        }