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", "" } });
//输出文档对象中键"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", );
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术语对应关系:
RDBMS | MongoDB |
---|---|
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, 基本步骤如下:
MongoDB 基础的更多相关文章
- mongodb基础用法
安装部分 mongodb配置方法 mongodb的安装目录 C:\MongoDB\Server\3.2\bin 创建以下目录 c:\mongo\log c:\mongo\db 创建mongodb的配置 ...
- mongodb基础系列——数据库查询数据返回前台JSP(一)
经过一段时间停顿,终于提笔来重新整理mongodb基础系列博客了. 同时也很抱歉,由于各种原因,没有及时整理出,今天做了一个demo,来演示,mongodb数据库查询的数据在JSP显示问题. 做了一个 ...
- MongoDB基础知识 02
MongoDB基础知识 02 6 数据类型 6.1 null : 表示空值或者不存在的字段 {"x":null} 6.2 布尔型 : 布尔类型只有两个值true和false {&q ...
- MongoDB基础知识 01
MongoDB基础知识 1. 文档 文档是MongoDB中的数据的基本单元,类似于关系型数据库管理系统的行. 文档是键值对的一个有序集.通常包含一个或者多个键值对. 例如: {”greeting& ...
- MongoDB基础教程系列--未完待续
最近对 MongoDB 产生兴趣,在网上找的大部分都是 2.X 版本,由于 2.X 与 3.X 差别还是很大的,所以自己参考官网,写了本系列.MongoDB 的知识还是很多的,本系列会持续更新,本文作 ...
- DataBase MongoDB基础知识记录
MongoDB基础知识记录 一.概念: 讲mongdb就必须提一下nosql,因为mongdb是nosql的代表作: NoSQL(Not Only SQL ),意即“不仅仅是SQL” ,指的是非关系型 ...
- MongoDB 基础(2019年开篇)
MongoDB基础知识: 1.什么是MongoDB NoSQL(NoSQL=Not Only SQL),意即"不仅仅是SQL". MongoDB是一个介于关系数据库和非关系数据库之 ...
- MongoDB基础学习
*:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* ...
- windows下mongodb基础玩法系列二CURD附加一
windows下mongodb基础玩法系列 windows下mongodb基础玩法系列一介绍与安装 windows下mongodb基础玩法系列二CURD操作(创建.更新.读取和删除) windows下 ...
- windows下mongodb基础玩法系列二CURD操作(创建、更新、读取和删除)
windows下mongodb基础玩法系列 windows下mongodb基础玩法系列一介绍与安装 windows下mongodb基础玩法系列二CURD操作(创建.更新.读取和删除) windows下 ...
随机推荐
- Java 中的构造方法
首先创建一个Transport类,定义好类的属性和方法,并且写好构造方法,先看下无参数的构造方法: public class Transport { //名字 public String name; ...
- php反射应用实例代码
php反射应用示例. 代码如下:<?php function custom(){ } class custom{ public function index(){ } } prin ...
- 在 PHP 中结合 Ajax 技术进行图片上传
前面几则日志中讲述了在 PHP 中上传文件,相信大家对 PHP 中如何进行文件上传已经初步掌握.本文来继续探讨在 PHP 中上传文件的技术,不同的是,本次上传将仅限于图片文件的上传,并且将采用 Aja ...
- S3C2440 LCD驱动(FrameBuffer)实例开发<一>(转)
1. 背景知识 在多媒体的推动下,彩色LCD越来越多地应用到嵌入式系统中,PDA和手机等大多都采用LCD作为显示器材,因此学习LCD的应用很有实际意义! LCD工作的硬件需求:要使一块LCD正常的显示 ...
- PagerAdapter的notifyDataSetChanged无效解决方法
在Adapter中复写该方法: @Override public int getItemPosition(Object object) { return POSITION_NONE; } 即可~~
- Kettle计算器的使用以及字符串格式化
1.简介 先生成随机数,将生成的2列随机数进行计算,并且格式化计算结果 2.kettle流程图 3.流程图详细描述 3.1生成随机数 生成2个随机数字,列名为N1,N2 3.2计算器 将N1与N2对应 ...
- hdu 1277 全文检索
题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=1277 全文检索 Description 我们大家经常用google检索信息,但是检索信息的程序是很困难 ...
- libcurl 安装使用一
一.下载libcurl http://curl.haxx.se/download/curl-7.21.1.tar.gz 二.安装 指定了安装目录 /usr/local/curl 命令1: ...
- 一个关于C#中基类与接口混合继承的疑问总结
思路参照 http://www.cnblogs.com/allenlooplee/archive/2004/11/16/64553.html,对原文进行了简化和补充,感谢原作者. 问题很简单,如下所示 ...
- 网络攻防工具介绍——Wireshark
网络攻防工具介绍 Wireshark 简介 Wireshark(前称Ethereal)是一个网络封包分析软件.它是一个理想的开源多平台网络协议分析工具.网络封包分析软件的功能是撷取网络封包,并尽可能显 ...