mongoDB连接信息及生成对应的collection生成代码

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using MongoDB.Driver; 

namespace CDPWIB.DAL 
{ 
public class MongoConnectionFactory 
{ 
//private static readonly string _connectionString = "mongodb://username:pwd@localhost:27000"; 
private static readonly string _connectionString = System.Configuration.ConfigurationSettings.AppSettings["entmongoconectionstring"]; 

//{ConnectionMode=Automatic;ConnectTimeout=00:00:30;Credentials={{DBNAME@USERNAME}};GuidRepresentation=CSharpLegacy;IPv6=False;MaxConnectionIdleTime=00:10:00;MaxConnectionLifeTime=00:30:00;MaxConnectionPoolSize=100;MinConnectionPoolSize=0;ReadPreference=Primary;ReplicaSetName=;SecondaryAcceptableLatency=00:00:00.0150000;Servers=10.10.10.252:27000;SocketTimeout=00:00:00;Ssl=False;SslVerifyCertificate=True;WaitQueueSize=500;WaitQueueTimeout=00:02:00WriteConcern=w=1;} 
//public static MongoClientSettings clintser = new MongoClientSettings 
//{ 
// //Credentials = new List<MongoCredential> 
// //{ 
// // MongoCredential.CreateMongoCRCredential("USERNAME", "DBNAME", "DB") 
// //}, 
// MaxConnectionLifeTime = new TimeSpan(0, 5, 0), 
// MaxConnectionIdleTime = new TimeSpan(0, 2, 0), 
// MinConnectionPoolSize = 0, 
// MaxConnectionPoolSize = 1000, 
// SocketTimeout = new TimeSpan(0, 2, 0), 
// WaitQueueTimeout = new TimeSpan(0, 0, 30), 

// //Server = new MongoServerAddress("10.10.10.252", 27000), 
// Server = new MongoServerAddress("127.0.0.1", 27000), 
// //WaitQueueTimeout = new TimeSpan(0, 2, 0), 
// // 
// ConnectTimeout = new TimeSpan(0, 0, 30), 
//}; 


public static MongoClientSettings clintser = new MongoClientSettings 
{ 
Credentials = new List<MongoCredential> 
{ 
//MongoCredential.CreateMongoCRCredential("usename", "db", "pwd") 
}, 
MaxConnectionLifeTime = new TimeSpan(0, 5, 0), 
MaxConnectionIdleTime = new TimeSpan(0, 2, 0), 
MinConnectionPoolSize = 0, 
MaxConnectionPoolSize = 1000, 
SocketTimeout = new TimeSpan(0, 2, 0), 
WaitQueueTimeout = new TimeSpan(0, 0, 30), 

//Server = new MongoServerAddress("10.10.10.252", 27000), 
Server = new MongoServerAddress("127.0.0.1", 27017), 
//WaitQueueTimeout = new TimeSpan(0, 2, 0), 
// 
ConnectTimeout = new TimeSpan(0, 0, 30), 
}; 
private static MongoClient mongoClient = new MongoClient(clintser); 


private static MongoServer mongoServer = mongoClient.GetServer(); 

public static MongoClient GetMongoClient() 
{ 
return mongoClient; 
} 

public static MongoServer GetMongoServer() 
{ 
//var seting = mongoServer.Settings; 
//seting.ConnectTimeout = new TimeSpan(0, 2, 0); 
//seting.MinConnectionPoolSize = 100; 
//seting.MaxConnectionPoolSize = 1000; 
//seting.SocketTimeout = new TimeSpan(0, 2, 0); 
//seting.WaitQueueTimeout = new TimeSpan(0, 2, 0); 

return mongoServer; 
} 

public static MongoDatabase GetMongoDataBase(string dbname) 
{ 

return GetMongoServer().GetDatabase(dbname); 
} 

public static MongoCollection<T> GetMongoCollction<T>(MongoDatabase database, string collectionname) 
{ 

return database.GetCollection<T>(collectionname); 
} 
public static MongoCollection<T> GetMongoCollction<T>(string databasename, string collectionname) 
{ 
MongoDatabase database = GetMongoDataBase(databasename); 
return database.GetCollection<T>(collectionname); 
} 

public static MongoCollection<T> GetMongoCollction<T>(string databasename) 
{ 
MongoDatabase database = GetMongoDataBase(databasename); 
return database.GetCollection<T>(typeof(T).Name); 
} 

public static MongoCollection GetMongoCollction(string databasename, string collectionname) 
{ 
MongoDatabase database = GetMongoDataBase(databasename); 
return database.GetCollection(collectionname); 
} 

public static MongoCollection<T> GetMongoCollction<T>(MongoDatabase database, Type type) 
{ 
return database.GetCollection<T>(type.Name); 
} 
public static MongoCollection<T> GetMongoCollction<T>(string databasename, Type type) 
{ 
MongoDatabase database = mongoServer.GetDatabase(databasename); 
return database.GetCollection<T>(type.Name); 
} 

} 
} 

 

mongoDB连接信息及生成对应的collection生成代码

上一篇:4.windows和Linux下创建oracle用户名表空间,表,插入数据,用户管理表等操作


下一篇:浅谈Access数据库的发展 你还在了解吗