private IFindFluent<Person, Person> CreateSubject()
        {
            var settings = new MongoCollectionSettings();
            _collection = Substitute.For<IMongoCollection<Person>>();
            _collection.DocumentSerializer.Returns(BsonSerializer.SerializerRegistry.GetSerializer<Person>());
            _collection.Settings.Returns(settings);
            var options = new FindOptions<Person, Person>();
            var subject = new FindFluent<Person, Person>(_collection, new BsonDocument(), options);

            return subject;
        }
        // private methods
        private IAggregateFluent<C> CreateSubject()
        {
            var settings = new MongoCollectionSettings();
            _collection = Substitute.For<IMongoCollection<C>>();
            _collection.DocumentSerializer.Returns(BsonSerializer.SerializerRegistry.GetSerializer<C>());
            _collection.Settings.Returns(settings);
            var options = new AggregateOptions();
            var subject = new AggregateFluent<C, C>(_collection, Enumerable.Empty<IPipelineStageDefinition>(), options);

            return subject;
        }
 public static IMongoCollection <T> GetDocumentCollection <T>(
     this IMongoDatabase database,
     MongoCollectionName collectionName,
     MongoCollectionSettings settings
     ) where T : Document
 => database.GetCollection <T>(collectionName == null ? MongoCollectionName.For <T>() : collectionName, settings);
 internal void SetConnectAndCollectionAndBsonId(IConnect connect, MongoCollectionSettings mongoCollectionSettings)
 {
     SetCollectionNameAndBsonId();
     Connect    = connect;
     Collection = Connect.Collection <T>(CollectionName, mongoCollectionSettings);
 }
 void Bootstrap()
 {
     _offsetsSettings = new MongoCollectionSettings {
         AssignIdOnInsert = false, WriteConcern = WriteConcern.Acknowledged
     };
 }
Example #6
0
        public PostsRepository()
        {
            var settings = new MongoCollectionSettings();

            PostsCollection = mongoDB.GetCollection <Post>("posts", settings);
        }
        public MongoKeylessBaseRepository(MongodbContext <TMongoSetting> mongoDatabase, ILogger logger, MongoCollectionSettings mongoCollectionSettings = default)
        {
            var mongoDatabase1 = mongoDatabase.GetDateBase();
            var collectionName = MongoCollectionNameCache.GetCollectionName <TEntity>();

            Collection = mongoDatabase1.GetCollection <TEntity>(collectionName, mongoCollectionSettings);
            _logger    = logger;
        }
Example #8
0
 /// <summary>
 /// 查询返回集合
 /// </summary>
 /// <typeparam name="T">文档类型</typeparam>
 /// <param name="filter">Lambda过滤器</param>
 /// <param name="settings">数据库设置</param>
 /// <param name="options">查找操作设置</param>
 /// <returns></returns>
 public IEnumerable <T> Where <T>(Expression <Func <T, bool> > filter, MongoCollectionSettings settings = null, FindOptions options = null) where T : BaseMongoEntity
 {
     return(Database.GetCollection <T>(typeof(T).Name, settings).Find(filter, options).ToEnumerable());
 }
Example #9
0
 /// <summary>
 /// 查询返回单条
 /// </summary>
 /// <typeparam name="T">文档类型</typeparam>
 /// <param name="collectionName">集合名称</param>
 /// <param name="session">会话句柄(作用于事务)</param>
 /// <param name="id">文档默认ID</param>
 /// <param name="settings">数据库设置</param>
 /// <param name="options">查找操作设置</param>
 /// <returns></returns>
 public T FindOne <T>(string collectionName, IClientSessionHandle session, string id, MongoCollectionSettings settings = null, FindOptions options = null) where T : BaseMongoEntity
 {
     return(Database.GetCollection <T>(collectionName, settings).Find(session, f => f.Id == id, options).FirstOrDefault());
 }
 public IMongoCollection <TDocument> GetCollection <TDocument>(string name, MongoCollectionSettings settings = null)
 {
     return(new MockMongoCollection <TDocument>());
 }
 public MongoRepositoryContext(IMongoClient mongoClient, string databaseName, MongoDatabaseSettings databaseSettings = null, MongoCollectionSettings collectionSettings = null)
     : base(mongoClient)
 {
     this.Settings = new MongoRepositorySettings
     {
         ClientSettings     = mongoClient.Settings,
         DatabaseName       = databaseName,
         DatabaseSettings   = databaseSettings,
         CollectionSettings = collectionSettings
     };
 }
Example #12
0
 public static MongoCollection GetCollection(MongoCollectionSettings settings)
 {
     return(mDBDrone.GetCollection(settings));
 }
 private IMongoCollection<BsonDocument> GetCollection(string suffix)
 {
     var database = _bucket.Database;
     var collectionName = _bucket.Options.BucketName + "." + suffix;
     var writeConcern = _bucket.Options.WriteConcern ?? database.Settings.WriteConcern;
     var settings = new MongoCollectionSettings { WriteConcern = writeConcern };
     return database.GetCollection<BsonDocument>(collectionName, settings);
 }
Example #14
0
 protected IMongoRepository <T> GetRepository <T>(MongoCollectionSettings settings) where T : class, new()
 {
     return(this.RepositoryFactory.Create <T>(settings));
 }
Example #15
0
        protected IMongoCollection <T> Collection <T>(string name, MongoCollectionSettings settings = null)
        {
            var db = Client.GetDatabase(DatabaseName, DatabaseSetttings);

            return(db.GetCollection <T>(name, settings));
        }
Example #16
0
 protected IMongoCollection <T> Collection <T>(MongoCollectionSettings settings = null)
 {
     return(Collection <T>(ModelName <T>(), settings));
 }
        private IMongoCollection<Person> CreateSubject()
        {
            var settings = new MongoCollectionSettings();
            var subject = Substitute.For<IMongoCollection<Person>>();
            subject.DocumentSerializer.Returns(settings.SerializerRegistry.GetSerializer<Person>());
            subject.Settings.Returns(settings);

            return subject;
        }
Example #18
0
 public abstract IMongoCollection <TDocument> GetCollection <TDocument>(string name, MongoCollectionSettings settings = null);
Example #19
0
        protected List <T> GetModels <T>(string collectionName, MongoCollectionSettings settings = null)
        {
            var collection = Collection <T>(collectionName, settings);

            return(collection.Find(new BsonDocument()).ToList());
        }
Example #20
0
 public static IMongoCollection <BsonDocument> GetBsonCollection(string collectionName, MongoCollectionSettings settings = null)
 {
     return(Database.GetCollection <BsonDocument>(collectionName, settings));
 }
Example #21
0
 /// <summary>
 /// 查询返回集合
 /// </summary>
 /// <typeparam name="T">文档类型</typeparam>
 /// <param name="collectionName">集合名称</param>
 /// <param name="session">会话句柄(作用于事务)</param>
 /// <param name="filter">Lambda过滤器</param>
 /// <param name="settings">数据库设置</param>
 /// <param name="options">查找操作设置</param>
 /// <returns></returns>
 public IEnumerable <T> Where <T>(string collectionName, IClientSessionHandle session, Expression <Func <T, bool> > filter, MongoCollectionSettings settings = null, FindOptions options = null) where T : BaseMongoEntity
 {
     return(Database.GetCollection <T>(collectionName, settings).Find(session, filter, options).ToEnumerable());
 }
        public IMongoRepository <T> Create <T>(MongoCollectionSettings settings) where T : class, new()
        {
            var collection = GetCollection <T>(this.mongoDatabase, settings);

            return(new DefaultMongoRepository <T>(collection));
        }
Example #23
0
 /// <summary>
 /// 查询返回单条
 /// </summary>
 /// <typeparam name="T">文档类型</typeparam>
 /// <param name="filter">过滤器</param>
 /// <param name="settings">数据库设置</param>
 /// <param name="options">查找操作设置</param>
 /// <returns></returns>
 public T FindOne <T>(IClientSessionHandle session, FilterDefinition <T> filter, MongoCollectionSettings settings = null, FindOptions options = null) where T : BaseMongoEntity
 {
     return(Database.GetCollection <T>(typeof(T).Name, settings).Find(session, filter, options).FirstOrDefault());
 }
Example #24
0
 /// <summary>
 /// 查询返回单条
 /// </summary>
 /// <typeparam name="T"></typeparam>
 /// <param name="collectionName">集合名称</param>
 /// <param name="filter">Lambda过滤器</param>
 /// <param name="settings">数据库设置</param>
 /// <param name="options">查找操作设置</param>
 /// <returns></returns>
 public T FindOne <T>(string collectionName, Expression <Func <T, bool> > filter, MongoCollectionSettings settings = null, FindOptions options = null) where T : BaseMongoEntity
 {
     return(Database.GetCollection <T>(collectionName, settings).Find(filter, options).FirstOrDefault());
 }
Example #25
0
        public EngineVariablesRepository()
        {
            var settings = new MongoCollectionSettings();

            EngineVariablesCollection = mongoDB.GetCollection <EngineVariable>("variables", settings);
        }
Example #26
0
 /// <summary>
 /// 查询返回单条
 /// </summary>
 /// <typeparam name="T">文档类型</typeparam>
 /// <param name="id">文档默认ID</param>
 /// <param name="settings">数据库设置</param>
 /// <param name="options">查找操作设置</param>
 /// <returns></returns>
 public T FindOne <T>(string id, MongoCollectionSettings settings = null, FindOptions options = null) where T : BaseMongoEntity
 {
     return(Database.GetCollection <T>(typeof(T).Name, settings).Find(f => f.Id == id, options).FirstOrDefault());
 }
 public Repository(IConnect connect, MongoCollectionSettings mongoCollectionSettings)
 {
     SetConnectAndCollectionAndBsonId(connect, mongoCollectionSettings);
 }
Example #28
0
 /// <summary>
 /// 查询全部
 /// </summary>
 /// <typeparam name="T">文档类型</typeparam>
 /// <param name="settings">数据库设置</param>
 /// <param name="options">查找操作设置</param>
 /// <returns></returns>
 public IEnumerable <T> FindAll <T>(MongoCollectionSettings settings = null, FindOptions options = null) where T : BaseMongoEntity
 {
     return(Database.GetCollection <T>(typeof(T).Name, settings).Find(_ => true, options).ToEnumerable());
 }
Example #29
0
        public override IMongoCollection <TDocument> GetCollection <TDocument>(string name, MongoCollectionSettings settings = null)
        {
            var collection = _collections.GetOrAdd(name, key => new BsonDocumentCollection());

            return(new FakeMongoCollection <TDocument>(this, collection));
        }
Example #30
0
 /// <summary>
 /// 查询全部
 /// </summary>
 /// <typeparam name="T">文档类型</typeparam>
 /// <param name="collectionName">集合名称</param>
 /// <param name="session">会话句柄(作用于事务)</param>
 /// <param name="settings">数据库设置</param>
 /// <param name="options">查找操作设置</param>
 /// <returns></returns>
 public IEnumerable <T> FindAll <T>(string collectionName, IClientSessionHandle session, MongoCollectionSettings settings = null, FindOptions options = null) where T : BaseMongoEntity
 {
     return(Database.GetCollection <T>(collectionName, settings).Find(session, _ => true, options).ToEnumerable());
 }
 public static IMongoCollection <T> GetDocumentCollection <T>(
     this IMongoDatabase database,
     MongoCollectionSettings settings
     ) where T : Document
 => GetDocumentCollection <T>(database, MongoCollectionName.For <T>(), settings);
 private Mock<IMongoCollection<Person>> CreateMockSubject()
 {
     var settings = new MongoCollectionSettings();
     var mockSubject = new Mock<IMongoCollection<Person>> { DefaultValue = DefaultValue.Mock };
     mockSubject.SetupGet(s => s.DocumentSerializer).Returns(settings.SerializerRegistry.GetSerializer<Person>());
     mockSubject.SetupGet(s => s.Settings).Returns(settings);
     return mockSubject;
 }
Example #33
0
        public static IMongoCollection <TDocument> GetCollection <TDocument>(this IMongoDatabase database, MongoCollectionSettings settings = null)
        {
            var name = GetCollectionName <TDocument>();

            return(database.GetCollection <TDocument>(name, settings));
        }
Example #34
0
 /// <summary>
 /// 查询返回集合
 /// </summary>
 /// <typeparam name="T">文档类型</typeparam>
 /// <param name="collectionName">集合名称</param>
 /// <param name="filter">过滤器</param>
 /// <param name="settings">数据库设置</param>
 /// <param name="options">查找操作设置</param>
 /// <returns></returns>
 public IEnumerable <T> Where <T>(string collectionName, FilterDefinition <T> filter, MongoCollectionSettings settings = null, FindOptions options = null) where T : BaseMongoEntity
 {
     return(Database.GetCollection <T>(collectionName, settings).Find(filter, options).ToEnumerable());
 }
Example #35
0
 /// <summary>
 /// 查询全部
 /// </summary>
 /// <typeparam name="TForeign">文档类型</typeparam>
 /// <typeparam name="T">文档类型</typeparam>
 /// <param name="session">会话句柄(作用于事务)</param>
 /// <param name="foreignDocument">文档对象</param>
 /// <param name="settings">数据库设置</param>
 /// <param name="options">查找操作设置</param>
 /// <returns></returns>
 public IEnumerable <T> DynamicCollectionFindAll <TForeign, T>(IClientSessionHandle session, TForeign foreignDocument, MongoCollectionSettings settings = null, FindOptions options = null)
     where TForeign : BaseMongoEntity
     where T : BaseMongoEntity
 {
     return(Database.GetCollection <T>($"{typeof(T).Name}_{foreignDocument.Id}", settings).Find(session, _ => true, options).ToEnumerable());
 }
Example #36
0
        private IFindFluent<Person, Person> CreateSubject(FindOptions<Person, Person> options = null)
        {
            var settings = new MongoCollectionSettings();
            _mockCollection = new Mock<IMongoCollection<Person>>();
            _mockCollection.SetupGet(c => c.DocumentSerializer).Returns(BsonSerializer.SerializerRegistry.GetSerializer<Person>());
            _mockCollection.SetupGet(c => c.Settings).Returns(settings);
            options = options ?? new FindOptions<Person, Person>();
            var subject = new FindFluent<Person, Person>(_mockCollection.Object, new BsonDocument(), options);

            return subject;
        }