mongoDB连接信息及生成对应的collection生成代码
2014-10-13 10:20
316 查看
.net,个人封装MONGODDB的操作。 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); } } }
相关文章推荐
- 用Eclipse新版本新建servlet时候,发现创建Servlet后,Eclipse不会自动在web.xml中生成该Servlet对应的mapping信息,而是在Servlet代码中加入注解@Web
- 用Eclipse新版本新建servlet时候,发现创建Servlet后,Eclipse不会自动在web.xml中生成该Servlet对应的mapping信息,而是在Servlet代码中加入注解@Web
- 查看索引信息与生成创建索引脚本代码(转自perfectaction)
- 生成可执行BPEL代码所需必要信息分析和归纳
- oracle的错误代码如何查看对应的错误信息
- C#递归获取所有目录下的文件信息并生成对应的XML件
- Bash脚本:生成代码csope和ctags信息
- 显示不了数据库连接信息,请高手指教,代码如下
- 动软连接access数据库生成的update语句无法更新库信息
- 查看索引信息与生成创建索引脚本代码(转自perfectaction)
- php 利用数据库教程信息生成静态页面实例代码
- C#递归获取所有目录下的文件信息并生成对应的XML件
- MyGeneration 如何连接 mysql 来生成代码
- 代码生成工具系列--------(二)根据数据库,得到必要的信息
- [C#]一步一步开发自己的自动代码生成工具之二:SQLServer字段与C#变量的对应转化
- 如何去掉kingcms生成页面代码中的fun.js引用等信息(转载未查证)
- 使用JDBC-ODBC方式连接数据库时,如何在代码中指定ODBC数据源信息
- PB 数据库连接以及sql语句运行信息返回代码解释大全
- oracle的错误代码如何查看对应的错误信息
- php利用数据库教程信息生成静态页面实例代码