Mongodb Bulkwrite C#超时

时间:2018-07-05 09:28:42

标签: c# mongodb timeout

我在BulkWrite上收到MongoDb超时错误。 MongoDb集合只有11条记录。数据库中的另一个集合有超过一百万条记录。我的BulkWrite代码如下。我不知道为什么我收到mongodb超时错误。请帮忙。

我正在尝试使用11条记录的BulkWrite,一旦一切看起来不错,我打算更改为BulkWriteAsync,并且必须更新百万条记录。

var ops = new List<WriteModel<BsonDocument>>();
var writeOptions = new BulkWriteOptions() { IsOrdered = false };
            Console.WriteLine("Connecting to MongoDb Server. Please wait...");
            var client = new MongoClient(Constant.MongoDbConnectionString);
            var database = client.GetDatabase(Constant.MongoDbDatabase);
            var collection = database.GetCollection<BsonDocument>(Constant.MongoDbCollections);
            Console.WriteLine("-------------Update To Mongo Db Start-------------");
            Console.WriteLine("Total Domains Domains: {0}", _domainList.Count);     

            foreach (var domainObject in domainList)
            {

                ops.Add(
                    new UpdateOneModel<BsonDocument>(
                            Builders<BsonDocument>.Filter.Eq("Url", domainObject.Url), //& Builders<BsonDocument>.Filter.Eq("Active", BsonBoolean.False) & Builders<BsonDocument>.Filter.Ne("ParentDomain", BsonString.Empty),
                            Builders<BsonDocument>.Update.Set("Language", domainObject.Language)
                                .Set("Country", domainObject.Country)
                                .Set("Active", domainObject.Active)                                   
                                .Set("UpdatedOn", domainObject.UpdatedOn)
                        ));
            }

            var result = collection.BulkWrite(ops, writeOptions);
            Console.WriteLine("-------------Update To Mongo Db End-------------"); 

0 个答案:

没有答案