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:\MongoDb2\bin 回车,再输入如下命令:

 

  mongod.exe --bind_ip localhost --logpath "C:\mongodb2\data\dbConf\mongodb.log" --logappend --dbpath "C:\mongodb2\data\db" --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, 基本步骤如下:

  

 

posted @ 2016-05-06 12:53  Yu  阅读(263)  评论(0编辑  收藏  举报