コード例 #1
0
ファイル: Program.cs プロジェクト: ax2015/testprojects
        static async Task MainAsync(string[] args)
        {
            var connectionString2 = "mongodb://localhost:27017,localhost:27018?replicaset=funny";
            var connectionString = "mongodb://localhost:27017";
            var client = new MongoClient(connectionString);
            var dbs= client.ListDatabases().ToList();
            
            /**
            foreach (MongoDB.Bson.BsonDocument d in dbs)
            {
                Console.WriteLine(d.ToString());
            }
            **/ 

            var workdb = client.GetDatabase("test");
            var personCollection = workdb.GetCollection<Person>("person");
            var builder = Builders<Person>.Filter;
            FilterDefinition<Person> searchFilter = builder.And(builder.Lt("Age", 51) & builder.Eq("Name", "jones"));
            
            if (personCollection != null)
            {
                await workdb.DropCollectionAsync("person");
                await AddDocuments(personCollection);

                /**
                //Search for only "jones" with age lte 30  by creating  BSON Doc filter.
                var searchFilter = new BsonDocument("$and", new BsonArray
                {    
                    new BsonDocument("Age", new BsonDocument("$lte", 300)),
                    new BsonDocument("Name", "jones")
                });
                **/
                await findDocuments(personCollection, searchFilter);
            }

            doReplace(personCollection);
            await findDocuments(personCollection, searchFilter);
        }
コード例 #2
0
        public void ListDatabases_should_invoke_the_correct_operation(
            [Values(false, true)] bool async)
        {
            var operationExecutor = new MockOperationExecutor();
            var client = new MongoClient(operationExecutor, new MongoClientSettings());

            if (async)
            {
                client.ListDatabasesAsync().GetAwaiter().GetResult();
            }
            else
            {
                client.ListDatabases();
            }

            var call = operationExecutor.GetReadCall<IAsyncCursor<BsonDocument>>();

            call.Operation.Should().BeOfType<ListDatabasesOperation>();
        }
コード例 #3
0
        private Boolean CheckConnection(String connection)
        {
            var url = new MongoUrl(connection);
            var client = new MongoClient(url);
            Task.Factory.StartNew(() =>
            {
                var allDb = client.ListDatabases();
            }); //forces a database connection
            Int32 spinCount = 0;
            ClusterState clusterState;

            while ((clusterState = client.Cluster.Description.State) != ClusterState.Connected &&
                spinCount++ < 100)
            {
                Thread.Sleep(20);
            }
            return clusterState == MongoDB.Driver.Core.Clusters.ClusterState.Connected;
        }
コード例 #4
0
 /// <summary>
 /// 获取DB集合
 /// </summary>
 public IEnumerable <BsonDocument> ListDataBases()
 {
     return(client.ListDatabases().ToEnumerable());
 }