zoukankan      html  css  js  c++  java
  • MongoDB 基础

    1. 安装 mongodb-win32-x86_64-2008plus-2.6.12-signed.msi,下载地址 https://www.mongodb.com/download-center#community

      安装至目录:c:MongoDb2

      

    2. 安装MongoDb服务并启动,否则不能使用:

      用管理员身份,打开cmd,输入命令 cd c:MongoDb2in 回车,再输入如下命令:

      mongod.exe --bind_ip localhost --logpath "C:mongodb2datadbConfmongodb.log" --logappend --dbpath "C:mongodb2datadb" --port 27017 --serviceName "Mongodb2Service" --serviceDisplayName "Mongodb2Service" --install

      删除服务:

        mongod.exe --serviceName "Mongodb2Service" --remove

      在Window服务中,查看如下:

      

      

      其中 port 27017 是默认值,可以修改。若是修改了端口号,在使用 mongo.exe 时,需要这样输入命令: mongo 127.0.0.1:port  (默认端口号黄色这部分是不用输入的)

       

    3. 可视化工具:MongoVUE1.6.9 支持 MongoDb2.6或以下,对 MongoDb3+不支持(会出现异常:Error in creating new Collection.)

      

    4. 基本例子:

    //Use MongoDB.dll
    public
    static void MainEnter() { //链接字符串,部署地址==localhost string connectionString = "mongodb://localhost"; //如上图中左侧数据库名 string databaseName = "Test"; //如上图中右侧集合名 string collectionName = "UserInfo"; //定义三要素,相当 Mongo==SqlConnection; MongoDatabase==SqlDataAdapter; MongoCollection==Dataset Mongo mongo = new Mongo(connectionString); MongoDatabase mongoDatabase = mongo.GetDatabase(databaseName) as MongoDatabase; MongoCollection<Document> mongoCollection = mongoDatabase.GetCollection<Document>(collectionName) as MongoCollection<Document>; //链接数据库 mongo.Connect(); //查找键值为UserId="1001"的文档对象 Document query = mongoCollection.FindOne(new Document { { "UserId", "1001" } }); //输出文档对象中键"UserName"对应的值,并输出 Console.WriteLine(Convert.ToString(query["UserName"])); //关闭链接 mongo.Disconnect(); }
    //Use MongoDB.Driver.dll
     
    var setting = new MongoDB.Driver.MongoClientSettings();
    setting.Server = new MongoDB.Driver.MongoServerAddress("localhost", 28012);
    MongoDB.Driver.MongoClient client = new MongoDB.Driver.MongoClient(setting);
    var database = client.GetDatabase("CustomerDb");
    var collection = database.GetCollection<Customer>("Customer");
    var list=collection.Find(n => n.Name == "Apple").ToList();

    5. 关系型数据库与MongoDB术语对应关系:

    RDBMSMongoDB
    Database Database
    Table Collection
    Tuple/Row Document
    column Field
    Table Join Embedded Documents
    Primary Key Primary Key (Default key _id provided by mongodb itself)

    其中默认生成的 Primary Key _id 长度为12字节的十六进制,格式:

    4字节时间戳+3字节机器ID+2字节MongoDB服务进程ID+3字节递增

    6. MongoDb 以 json 方式存储数据,RDBMS中的多表关系,在MongoDb中,则始终在一个集合内,不会出现类似多个json。

      一对一: {a:"",b:{c:""}}

      一对多(简单类型): {a:"",b:["c","d"]}

      一对多(复杂类型): {a:"",b:[{c:"d"},{e:"f"}]}

    7. RDBMS的CURD与MongoDb.dll(https://github.com/samus)的对应,如下:

      C == Insert

      U == Update

      R == Find

      D == Delete

    8. 在无视图的情况下,可使用mongo命令操作MongoDb, 基本步骤如下:

      

  • 相关阅读:
    POJ2778 DNA Sequence AC自动机上dp
    codeforces732F Tourist Reform 边双联通分量
    codeforces786B Legacy 线段树优化建图
    洛谷P3588 PUS 线段树优化建图
    codeforces1301D Time to Run 模拟
    codeforces1303B National Project 二分或直接计算
    codeforces1303C Perfect Keyboard 模拟或判断欧拉路
    codeforces1303D Fill The Bag 二进制应用+贪心
    python之路——使用python操作mysql数据库
    python之路——mysql索引原理
  • 原文地址:https://www.cnblogs.com/yipeng-yu/p/5465211.html
Copyright © 2011-2022 走看看