• 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);





  • 相关阅读:
    尾递归
    Appium环境搭建
    虚拟机与主机的相互访问,虚拟机访问外网
    Python
    npm i 安装
    redis过期键删除策略
    Redis的过期策略和内存淘汰机制
    redis的两种持久化方案
    JVM 方法内联
    进程/线程/协程
  • 原文地址:https://www.cnblogs.com/yimiao/p/2245637.html
Copyright © 2020-2023  润新知