zoukankan      html  css  js  c++  java
  • MongoDB下载文件 百度盘共享

    1> mongodb下载地址:

    http://www.mongodb.org/downloads

    官方下载不了,可以到百度共享盘里面下载

    MongoDB 2.6.5


    Windows 64位:  http://pan.baidu.com/s/1qW0nCpI

    Windows 32位:http://pan.baidu.com/s/1qWmG2NM

    Linux 64位: http://pan.baidu.com/s/1CRxzo

     转自:http://mongoing.com/mongodb-downloads

    2> mongodb c#驱动 下载地址(下载完成后,需自己编译项目,然后用项目编译后生成的DLL文件即可。)

    https://github.com/samus/mongodb-csharp

    其实是有二种驱动:可以参考 http://blog.csdn.net/dannywj1371/article/details/7440916

    3>我用的mongodb.dll 文件

    MongoDB.DLL

    使用过程中可能遇到问题

    reason: errno:10061 No connection could be made because the target machine actively refused it.

    解决方式:

    sc.exe create MongoDB binPath="d:MongoDBinmongod.exe --service --config=d:MongoDBmongod.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;
                    }
                }
            }
        }
    

      

  • 相关阅读:
    LA 2038 Strategic game(最小点覆盖,树形dp,二分匹配)
    UVA 10564 Paths through the Hourglass(背包)
    Codeforces Round #323 (Div. 2) D 582B Once Again...(快速幂)
    UVALive 3530 Martian Mining(贪心,dp)
    UVALive 4727 Jump(约瑟夫环,递推)
    UVALive 4731 Cellular Network(贪心,dp)
    UVA Mega Man's Mission(状压dp)
    Aizu 2456 Usoperanto (贪心)
    UVA 11404 Plalidromic Subsquence (回文子序列,LCS)
    Aizu 2304 Reverse Roads(无向流)
  • 原文地址:https://www.cnblogs.com/chenqingwei/p/4084418.html
Copyright © 2011-2022 走看看