zoukankan      html  css  js  c++  java
  • MongoDB运用


    1. 第一步:下载安装包:官方下载地址←单击此处,如果是win系统,注意是64位还是32位版本的,请选择正确的版本。

    2. 第二步:新建目录“D:MongoDB”,解压下载到的安装包,找到bin目录下面全部.exe文件,拷贝到刚创建的目录下。

    3. 第三步:在“D:MongoDB”目录下新建“data”文件夹,它将会作为数据存放的根文件夹。


    4
      打开CMD窗口,按照如下方式输入命令:
      > d:
      > cd D:MongoDB
      > mongod --dbpath D:MongoDBdata

      在浏览器输入:http://localhost:27017/,可以看到如下提示:

    You are trying to access MongoDB on the native driver port. For http diagnostic access, add 1000 to the port number
      如此,MongoDB数据库服务已经成功启动了。

    2 MongoDB 基础知识

    2.1 document : MongoDB 里边数据的基本单位,相当于关系数据库中的行(Row);

    2.2 collection : 相当于关系数据库的表,不过是没有数据结构定义的每个MonogoDB的实例,可以运行多个database,每个database有自己
    的collection和权限控制
    2.3 MongoDB 拥有一个强大的javaScript shell ,用于管理数据库和操作数据,每个document都有特殊的key:"_ID",这个值在collection是
    唯一的

    3 Document:

    document 是一组有序的key/value对,使用json风格的数据
    { “foot”:3, "greeting":"HelloWord" }
    key 是一个utf-8的字符串 ,vaule 可以是很多类型 ,甚至可以是一个嵌入的document;

    4 Collection
    collection 是一组document,它是无结构定义的,所以你可以吧任何的document存入一个collection里

    5 Subcollection
    一个习惯性组织collection的方式,使用.号分隔

    7 一些简单的运用
    配置文件中
    <appSettings>
    <add key="MongoServerSettings" value="mongodb://127.0.0.1:27017"/>
    </appSettings>

    -----
    public abstract class BaseEntity
    {
    /// <summary>
    /// 约束必须有键
    /// </summary>
    [BsonId]
    public ObjectId Id { get; set; }
    }

    -----


    在另一个类中
    public class Customer : BaseEntity
    {
    public string Name { get; set; }
    public int CusId { get; set; }
    public DateTime Subtime { get; set; }
    public List<Order> Orders { get; set; }
    public string Demo { get; set; }
    public string Shit { get; set; }
    }

    public class Order
    {
    public int OrderId { get; set; }
    public string Content { get; set; }
    }

    --------------------------

    MongoCollection<Customer> m_ListCollectio=null;

    private void button1_Click(object sender, EventArgs e)
    {
    //获取连接字符串
    string strconn = ConfigurationManager.AppSettings["MongoServerSettings"];
    //创建mongodb服务对应的对象
    MongoServer m_Server= MongoServer.Create(strconn);
    //获取数据库,如果没有,会自动创建一个
    MongoDatabase m_Db= m_Server.GetDatabase("test22");
    ////指定集合的名字
    var collectonName = typeof(Customer).Name;
    //获取集合,如果集合不存在,那么直接创建一个(相当于表)
    m_ListCollectio = m_Db.GetCollection<Customer>(collectonName);
    // Add();
    //QueryAll();
    }
    #region 添加
    public void Add( )
    {

    for (int i = 0; i < 10; i++)
    {
    Customer customer = new Customer();//创建实体
    customer.CusId = i;
    customer.Name = "shit" + i;
    customer.Subtime = DateTime.Now;

    customer.Demo = "ddd";
    if (i == 10)
    {
    customer.Demo = "sssss";
    }

    customer.Shit = DateTime.Now.ToString();

    m_ListCollectio.Insert(customer);//将数据插入到 集合里面去
    }
    MessageBox.Show(m_ListCollectio.Count() + "");

    }
    #endregion

    #region 查询全部

    public void QueryAll()
    {
    MongoCursor<Customer> list = m_ListCollectio.FindAll();


    foreach (Customer customer1 in list)
    {
    Console.WriteLine(customer1.Id+ "--" + customer1.CusId + "-----" + customer1.Subtime.ToString());
    }

    }

    #endregion

    #region 删除
    public void Del()
    {
    //删除全部
    //m_ListCollectio.RemoveAll();

    //删除指定的一条数据
    //m_ListCollectio.Remove(Query.EQ("Demo","sssss"));

    //规约模式
    m_ListCollectio.Remove(Query.And(Query.EQ("demo", "ssssss"), Query.EQ("CusId",10)));
    m_ListCollectio.Remove(Query.Or(Query.EQ("demo", "ssssss"), Query.EQ("CusId", 10)));
    // GT大于
    }
    #endregion
    #region 修改
    public void Update()
    {
    var cus= m_ListCollectio.FindOneAs<Customer>(Query.EQ("CusId", 12));
    cus.Demo = "dssadasdasdas";
    m_ListCollectio.Save(cus);
    }

    #endregion

    详细学习可以看单元测试
    MongoDBmongo-csharp-driver-mastermongo-csharp-driver-master/MongoDB.DriverUnitTests;

  • 相关阅读:
    Java学习开篇
    《我的姐姐》
    世上本无事,庸人自扰之
    这48小时
    补觉
    淡定
    es java api 设置index mapping 报错 mapping source must be pairs of fieldnames and properties definition.
    java mongodb groupby分组查询
    linux 常用命令
    mongodb too many users are authenticated
  • 原文地址:https://www.cnblogs.com/cdaq/p/4646564.html
Copyright © 2011-2022 走看看