目录
介绍
在机器上设置Mongo DB
启动Mongo DB
下载RoboMongo
MongoDB术语
MongoDB的要点
查询时间到了
MongoDB函数
MongoDB中的自动递增ID(SQL Server中的标识)
第1步
第2步
第3步
第4步
介绍欢迎来到MongoDB教程。这是MongoDB文章系列的第一部分。
以下是所有三个部分的链接:
- Mongo DB教程及SQL与Mongo DB查询的映射
- MongoDB 教程 - 第 2 天
- MongoDB 教程 - 第 3 天(性能 - 索引)
在第一部分中,由于我们是MongoDB 和No-SQL的新手,我想从No-SQL的定义开始。
No-SQL:No-SQL代表Not Only SQL。No-SQL是非关系型数据库。No-SQL数据库不遵循RDMS规则,No-SQL数据库不使用SQL查询数据。
No-SQL数据库可以分为四类:
- 文件存储
- 图存储
- 列值存储
- 键值存储
MongoDB属于文档存储数据库。
文档存储数据库:在文档存储数据库中,数据以文档的形式存储。它扩展了键值存储数据库概念。
Mongo DB和Couch DB是两个主要的文档存储数据库。Mongo DB以文档的形式存储数据。这是示例文档的示例。
从下面的MongoDB官方站点下载MongoDB(根据您的操作系统下载MSI文件)。
- https://www.mongodb.org/downloads#production
安装MSI文件(如果是Window操作系统,默认位置是(C:\Program Files\MongoDB)。
复制此文件夹并将其放置在您的C盘或任何其他驱动器中,并在C盘中创建一个名为data的文件夹,并在data文件夹中创建一个名为db的文件夹。
所以在C盘,我们现在有两个文件夹:
- MongoDB(从安装位置复制)
- data/db(在数据文件夹内创建一个名为data的文件夹和一个名为db的文件夹)
转到我们放在c盘的MongoDB文件夹中的bin文件夹。
就我而言,bin文件夹位于MongoDB文件夹内。(它可以在服务器文件夹内,也可以在下面)
C:\Program Files\MongoDB\Server\3.0\bin
并双击Mongod.exe(它将打开命令提示符并启动MongoDB服务器)。
最后一行应该说“等待连接... ”,如下所示,这意味着我们的Mongo DB服务器已成功启动:
RoboMongo。以Shell为中心的跨平台开源MongoDB管理工具(即Admin GUI)。[它] 嵌入了相同的JavaScript引擎(基于Mozilla SpiderMonkey),为MongoDB的mongo shell提供支持。这意味着您可以在Robomongo中重用您现有的MongoDB Shell技能。
我们可以从名为Robomongo.org的Robomongo原始站点下载Robomongo。这是网址:
- https://robomongo.org/
下载后,运行EXE并转到文件-->连接(确保您的mongodb服务器已启动并运行,我们在最后一步通过Mongod.exe运行)
MongoDB术语在继续之前,我们应该了解MongoDB的术语:
操作
在SQL中
在MongoDB中
Create
Insert
Insert
Read
Select
Find
Update
Update
Update
Delete
Delete
Remove
Table
Table
Collection
Row
Row
Document
MongoDB的要点- MongoDB以Json格式存储数据(我们称之为BSON(Binary JSON))
- JSON代表JavaScript Object Notations,看起来像{“Name”:”Vijay”}
- JSON文档将数据存储在键值对中,如{“X”:1,”Y”:2,”Z”:3}
- JSON中有两种基本结构:
- 数组:事物列表在项目列表中表示[……..]
- 字典:关联地图{key:Value}
例如{Name : 'Vijay',City : 'Shamli',interest : ["Sports" ,"Music" ]}Name和city是字典,Interest是一个数组。
- Mongo Db是Schema less,Schema Less意味着两个文档不需要是相同的schema。集合中的第一个文档可以是:{Name:"Vijay",Email:"VijayRana1091@gmail.com"}同一集合中的第二个文档可以是:{Name:"Vijay",Email:"VijayRana1091@gmail.com",Address:“Delhi”}
- MongoDB不支持jion。
- Mongo DB不支持事务。
我们将在这里看到一些我们每天在SQL Server中运行的查询以及在Mongo DB中的等效查询。
为此,我在SQL Server中创建了一个具有以下架构的表,并在MongoDB中创建了一个相同的集合(记住表是MongoDB中的一个集合)。
我们将在MongoDB中创建相同的表,并使用MongoDB对该表进行不同的操作。
操作
SQL
MongoDB
选择数据库
使用测试
使用测试
我们将收到一条消息“切换到db测试”。
插入记录
Insert into Student Values_
(1,'Vijay', 'VijayRana1091@gmail.com', _
'9711965544','Delhi')
db.Student.insert(_
{"_id":1,"Name":"Vijay",_
"Email":"VijayRana1091@gmail.com",
"PhoneNo":"9711965544",_
"Address":"Delhi"}
)
注意:在MongoDb中_id用作主键。如果我们不会在此列中插入任何值,那么 MongoDB将自动在Table中插入唯一ID。
在SQL Server和MongoDB中插入更多记录(附加SQL脚本和MongoDB脚本)
- 下载源代码 - 597B
运行脚本后,我们在Student表(SQL服务器和MongoDB)数据库中有以下数据。
select
选择所有列:
select * from student
选择几列:
select ID,Name from Student
选择所有列:
db.Student.find()
选择几列:
db.Student.find({},{"Name":true})
我们使用find()Method 从表中提取所有记录。
Where 子句
select * from student _
where Name='Vijay'
db.Student.find({Name:"Vijay"})
大于和小于
select * from student where ID>2
select * from student where ID>=2
select * from student where ID
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?