public void Update <T, U>(string collection, Expression <Func <T, bool> > filter, Expression <Func <T, U> > update, U value)
        {
            var coll        = DefaultDB.GetCollection <T>(collection);
            var mongoUpdate = Builders <T> .Update.Set(update, value);

            coll.UpdateOne(filter, mongoUpdate);
        }
        public int Count <T>(string collection, Expression <Func <T, bool> > filter)
        {
            var coll = DefaultDB.GetCollection <T>(collection);

            return((int)coll.CountDocuments <T>(filter));
        }
        public void Add <T>(string collection, T item)
        {
            var coll = DefaultDB.GetCollection <T>(collection);

            coll.InsertOne(item);
        }
 public T FindOne <T>(string collection, Expression <Func <T, bool> > filter)
 {
     return(DefaultDB.GetCollection <T>(collection).Find(filter).FirstOrDefault());
 }
 public List <T> Find <T>(string collection, Expression <Func <T, bool> > filter)
 {
     return(DefaultDB.GetCollection <T>(collection).Find(filter).ToList());
 }
        public void Replace <T>(string collection, Expression <Func <T, bool> > filter, T replacement)
        {
            var coll = DefaultDB.GetCollection <T>(collection);

            coll.ReplaceOne <T>(filter, replacement);
        }