MongoClient objToclient, objFromclient; MongoServer objToserver, objFromserver; MongoDatabase objTodb, objFromdb; MongoCollection objFromCol; try { objFromclient = new MongoClient(clsAppSettings.Get("Host" + collection.Trim(), "")); objFromserver = objFromclient.GetServer(); objFromdb = objFromserver.GetDatabase(clsAppSettings.Get("Db" + collection.Trim(), "")); objFromCol = objFromdb.GetCollection(execCollection.Key.Trim()); var objSrchDoc = MongoDB.Bson.Serialization.BsonSerializer.Deserialize(str); var objQryDoc = new QueryDocument(objSrchDoc); var objCurMain = objFromCol.FindAs(objQryDoc); objCurMain.BatchSize = 1000; objToclient = new MongoClient(clsAppSettings.Get("HostDest" + collection.Trim(), "")); objToserver = objToclient.GetServer(); objTodb = objToserver.GetDatabase(clsAppSettings.Get("DestDb" + collection.Trim(), "")); var bulk = objTodb. GetCollection(execCollection.Key.Trim()). InitializeOrderedBulkOperation(); if (objCurMain.Size() > 0) { foreach (BsonDocument bd in objCurMain) { bulk.Find(Query.EQ("_id", bd["_id"])).Upsert().ReplaceOne(bd); ctr++; if (ctr == Convert.ToInt32(clsAppSettings.Get("BatchSize", "1000"))) { var bulkWrite = bulk.Execute(WriteConcern.Acknowledged); } } } } catch(Exception ex) { }