1> mongodb下載地址:html
http://www.mongodb.org/downloadsgit
官方下載不了,能夠到百度共享盤裏面下載github
MongoDB 2.6.5web
Windows 64位: http://pan.baidu.com/s/1qW0nCpImongodb
Windows 32位:http://pan.baidu.com/s/1qWmG2NMc#
Linux 64位: http://pan.baidu.com/s/1CRxzoapp
轉自:http://mongoing.com/mongodb-downloadsui
2> mongodb c#驅動 下載地址(下載完成後,需本身編譯項目,而後用項目編譯後生成的DLL文件便可。)this
https://github.com/samus/mongodb-csharp.net
實際上是有二種驅動:能夠參考 http://blog.csdn.net/dannywj1371/article/details/7440916
3>我用的mongodb.dll 文件
使用過程當中可能遇到問題
reason: errno:10061 No connection could be made because the target machine actively refused it.
解決方式:
sc.exe create MongoDB binPath="d:\MongoDB\bin\mongod.exe --service --config=d:\MongoDB\mongod.cfg" DisplayName="MongoDB 2.6 Standard" start="auto"
http://www.cnblogs.com/yuluhuang/p/3982989.html
public class MongoDBHelper<T> where T : class { string connectionString = string.Empty; string databaseName = string.Empty; string collectionName = string.Empty; static MongoDBHelper<T> mongodb; public MongoDBHelper(string connectionString, string databaseName, string collectionName) { this.collectionName = collectionName; this.connectionString = connectionString; this.databaseName = databaseName; } public MongoConfiguration configuration { get { var config = new MongoConfigurationBuilder(); config.Mapping(mapping => { mapping.DefaultProfile(profile => { profile.SubClassesAre(t => t.IsSubclassOf(typeof(T))); }); mapping.Map<T>();//將類型添加到集合中 mapping.Map<T>(); }); config.ConnectionString(connectionString); return config.BuildConfiguration(); } } public void Insert(T t) { using (Mongo mongo = new Mongo()) { try { mongo.Connect(); var db = mongo.GetDatabase(databaseName); var collection = db.GetCollection<T>(collectionName); collection.Insert(t, true); mongo.Disconnect(); } catch (Exception) { mongo.Disconnect(); throw; } } } public void Update(T t, Expression<Func<T, bool>> func) { using (Mongo mongo = new Mongo()) { try { mongo.Connect(); var db = mongo.GetDatabase(databaseName); var collection = db.GetCollection<T>(collectionName); collection.Update(t, func, true); mongo.Disconnect(); } catch (Exception) { mongo.Disconnect(); throw; } } } public List<T> GetList(int pageIndex, int pageSize, int needPageCount, Expression<Func<T, bool>> func, out int pageCount) { pageCount = 0; using (Mongo mongo = new Mongo()) { try { mongo.Connect(); var db = mongo.GetDatabase(databaseName); var collection = db.GetCollection<T>(collectionName); pageCount = Convert.ToInt32(collection.Count() / pageSize); var modelList = collection.Linq().Where(func).Skip(pageSize * (pageIndex - 1)).Take(needPageCount * pageSize).Select(i => i).ToList(); mongo.Disconnect(); return modelList; } catch (Exception) { mongo.Disconnect(); throw; } } } public List<T> ListAll(Expression<Func<T, bool>> func) { using (Mongo mongo = new Mongo()) { try { mongo.Connect(); var db = mongo.GetDatabase(databaseName); var collection = db.GetCollection<T>(collectionName); var list = collection.Linq().Select(i => i).ToList(); mongo.Disconnect(); return list; } catch (Exception) { mongo.Disconnect(); throw; } } } public T Single(Expression<Func<T, bool>> func) { using (Mongo mongo = new Mongo()) { try { mongo.Connect(); var db = mongo.GetDatabase(databaseName); var collection = db.GetCollection<T>(collectionName); var single = collection.Linq().FirstOrDefault(func); mongo.Disconnect(); return single; } catch (Exception) { mongo.Disconnect(); throw; } } } public void Delete(Expression<Func<T, bool>> func) { using (Mongo mongo = new Mongo()) { try { mongo.Connect(); var db = mongo.GetDatabase(databaseName); var collection = db.GetCollection<T>(databaseName); //這個地方必定要加上T參數,否則會當成object類型的來處理,致使刪除失敗。 collection.Remove<T>(func); mongo.Disconnect(); } catch (Exception) { mongo.Disconnect(); throw; } } } }