zoukankan      html  css  js  c++  java
  • C#中使用MongoDb

    首先从网上下载MongoDB。地址http://www.mongodb.org/,找到适合自己的下载

    这是我下载的。

    在E盘新建个文件夹,将刚才下载的zip解压,将其中bin目录下的文件全部拷贝至刚才新建的文件夹。

    然后在其中再建立个data文件夹。

    然后通过cmd去启动你的MongoDB

    看我红线框出来的即可。上面打错了 - -

    将mongodb添加至系统服务中:

    E:\webdev\mongodb>mongod --logpath e:\webdev\mongodb\logs\mongodb.log --logappen
    d --dbpath e:\webdev\mongodb\data --directoryperdb --serviceName MongoDB --install

    然后访问localhost:27017看到如下所示,就表示你的MongoDB已经启动完毕

    增加:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Runtime.Serialization;
    using System.Data;
    using System.Data.SqlClient;
    using MongoDB.Bson;
    using MongoDB.Driver;

    namespace ConsoleApplication1
    {
    class Program
    {
    static void Main(string[] args)
    {
    //连接信息
    string conn = "mongodb://localhost";
    string database = "demoBase";
    string collection = "demoCollection";

    MongoServer mongodb = MongoServer.Create(conn);//连接数据库
    MongoDatabase mongoDataBase = mongodb.GetDatabase(database);//选择数据库名
    MongoCollection mongoCollection = mongoDataBase.GetCollection(collection);//选择集合,相当于表

    mongodb.Connect();

    //普通插入
    var o = new { Uid = 123, Name = "xixiNormal", PassWord = "111111" };
    mongoCollection.Insert(o);

    //对象插入
    Person p = new Person { Uid = 124, Name = "xixiObject", PassWord = "222222" };
    mongoCollection.Insert(p);

    //BsonDocument 插入
    BsonDocument b = new BsonDocument();
    b.Add("Uid", 125);
    b.Add("Name", "xixiBson");
    b.Add("PassWord", "333333");
    mongoCollection.Insert(b);

    Console.ReadLine();
    }
    }

    class Person {
    public int Uid;
    public string Name;
    public string PassWord;

    }
    }

    结果:

    都是上述配置写的,程序会自动建立对应的库和集合。

    下面的操作不上完整代码了:

                /*---------------------------------------------
    * sql : SELECT * FROM table
    *---------------------------------------------
    */
    MongoCursor<Person> p = mongoCollection.FindAllAs<Person>();

    /*---------------------------------------------
    * sql : SELECT * FROM table WHERE Uid > 10 AND Uid < 20
    *---------------------------------------------
    */
    QueryDocument query = new QueryDocument();
    BsonDocument b = new BsonDocument();
    b.Add("$gt", 10);
    b.Add("$lt", 20);
    query.Add("Uid", b);

    MongoCursor<Person> m = mongoCollection.FindAs<Person>(query);

    /*-----------------------------------------------
    * sql : SELECT COUNT(*) FROM table WHERE Uid > 10 AND Uid < 20
    *-----------------------------------------------
    */
    long c = mongoCollection.Count(query);

    /*-----------------------------------------------
    * sql : SELECT Name FROM table WHERE Uid > 10 AND Uid < 20
    *-----------------------------------------------
    */
    QueryDocument query = new QueryDocument();
    BsonDocument b = new BsonDocument();
    b.Add("$gt", 10);
    b.Add("$lt", 20);
    query.Add("Uid", b);
    FieldsDocument f = new FieldsDocument();
    f.Add("Name", 1);

    MongoCursor<Person> m = mongoCollection.FindAs<Person>(query).SetFields(f);
    /*-----------------------------------------------
    * sql : SELECT * FROM table ORDER BY Uid DESC LIMIT 10,10
    *-----------------------------------------------
    */
    QueryDocument query = new QueryDocument();
    SortByDocument s = new SortByDocument();
    s.Add("Uid", -1);//-1=DESC

    MongoCursor<Person> m = mongoCollection.FindAllAs<Person>().SetSortOrder(s).SetSkip(10).SetLimit(10);





  • 相关阅读:
    洛谷 P1508 Likecloud-吃、吃、吃
    Codevs 1158 尼克的任务
    2017.10.6 国庆清北 D6T2 同余方程组
    2017.10.6 国庆清北 D6T1 排序
    2017.10.3 国庆清北 D3T3 解迷游戏
    2017.10.3 国庆清北 D3T2 公交车
    2017.10.3 国庆清北 D3T1 括号序列
    2017.10.4 国庆清北 D4T1 财富
    2017.10.7 国庆清北 D7T2 第k大区间
    2017.10.7 国庆清北 D7T1 计数
  • 原文地址:https://www.cnblogs.com/yimiao/p/2245637.html
Copyright © 2011-2022 走看看