monggoDB的学习

本篇教程是有概念和操作的,如果想学会monggoDB要认真看文档和跟着操作几遍,然后有空的时候再来敲敲指令才能学会,并在项目上灵活使用它

1.认识monggoDB

1.基本介绍

MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的,语法有点类似javascript面向对象的查询语言,它是一个面向集合的,模式自由的文档型数据库。实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。它的特点是高性能、易部署、易使用,存储数据非常方便

和mysql一样存硬盘

2.mongodb与 mysql性能比较

分别插入100万条记录,并对其做100个用户并发查询操作
在这里插入图片描述

数据存储方式类似一个关联数组

3.应用范围和限制

缺点:不支持连表查询,不支持sql语句,不支持事务存储过程等,所以不适合存储数据间关系比较复杂的数据,一般主要是当做一个数据仓库来使用。
适用于:日志系统,股票数据等。
不适用于:电子商务系统等需要连多表查询的功能。

2.需要掌握的几个概念

1.文档(类似关系数据库的一行)

文档是mongoDB中数据的基本单元,类似关系数据库的一行
多个键值对有序地放置在一起便是文档
MongoDB 中以文档的方式存取记录,如:

{
    “username”:”Tom”, “age”:10 ,email:’xiaobai@sohu.com’,’sex’:男,键,值}
{
    "username":"Tom" , "age" : "10" } 
{
   “Username”:”Tom”,”age”:10} 
{
   “Username”:”Tom” } 

注意:
(1)以上是几个不同的文档,MongoDB区分大小写的数据类型,第一个age字段是数字类型,第二个age是字符串类型。
(2)每一个文档尺寸不能超过16M

2.集合(mysql中的表)

集合就是一组文档,多个文档组成一个集合,集合类似于 mysql里面的表

2.1 无模式

是指,在同一个集合中可以包含不同格式的文档,如:

{
      "Name" : "Mongodb" ,  "Type" : "Nosql"  }
{
      "UserName" : "Tom"  ,  "age"  :  20  ,  "Gender"  :  "male"  }

以上两个文档可以放在同一个集合中。
在Mysql需要先建表再插入数据,

2.2模式自由(schema-free)

是指集合里面没有行和列的概念(文档里面的键值个数没有规定,可长可短)

注意:MongoDB中的集合不用创建、没有结构,所以可以放不同格式的文档。

3.数据库(和mysql的数据库概念一样的)

多个集合可以组成数据库。一个mongoDB实例可以承载多个数据库,他们之间完全独立。
Mongodb中的数据库和Mysql中的数据库概念类似,只是无需创建。
一个数据库中可以有多个集合。
一个集合中可以有多个文档。

4.mongodb的数据体系

在这里插入图片描述
在这里插入图片描述

3.安装mongodb

这里采用的是压缩包方式安装,向导程序安装方式出错的概率很大,其实我们在安装mysql的时候也是常用下载绿色包的方式,因为简单不容易出错

1.下载绿色压缩包4.4.3版本

https://www.mongodb.com/try/download/community

在这里插入图片描述
在这里插入图片描述

2.基本目录结构

下载下来就只有如下几个文件
在这里插入图片描述
bin目录下
在这里插入图片描述

3.查看常用的参数选项

在这里插入图片描述

4.启动服务端

4.1启动准备

启动服务端需要指定两个参数,如果是向导程序安装则不需要指定

选项 描述
–dbpath 数据库文件存放目录
–logpath 日志文件路径

所以我们要新建data目录和log.log文件
在这里插入图片描述

4.2启动服务

进入到bin目录执行

mongod --dbpath F:\wamp\mongodb4.4.3\data --logpath F:\wamp\mongodb4.4.3\log.log

此时启动成功,这个黑窗口不能关
在这里插入图片描述
重新启动一个cmd,查看端口,如果有27017则启动成功

netstat -an|findstr 27017

在这里插入图片描述

5.客户端连接服务

既然已经开启了服务,可通过客户端连接

命令行运行mongo.exe即可

F:\wamp\mongodb4.4.3\bin\mongo.exe

在这里插入图片描述

6.配置环境变量(非必须)

如果觉得比如如下指令太长,可以配置环境变量

F:\wamp\mongodb4.4.3\bin\mongo.exe

在这里插入图片描述

配置好后可以直接这样就可以链接客户端,不需要进入到\mongodb4.4.3\bin\下了
在这里插入图片描述

4.入门语句

1.创建数据库

语法:

use  数据库名称

注意:如果该数据库不存在,则创建,如果该数据库存在,则是切换,如果创建了数据库,没有任何的操作,则会自动删除该数据库。
在这里插入图片描述

2.查看数据库

语法:

show dbs

因为上面创建的php数据库没有任何操作所以会被自动删除,则查询不到php,只能查询到默认的数据库
在这里插入图片描述

3.创建集合

3.1显示创建

db.createCollection('集合名称');

在这里插入图片描述

3.2隐式创建

db.集合名.insert({
   })

表示插入数据后就自动创建这个集合
在这里插入图片描述

4.查看集合

语法:

show tables

在这里插入图片描述

5.查询集合里面的文档

语法

db.集合名.find()  查询所有
db.集合名.findOne()   查询第一个文档

在这里插入图片描述

6.删除集合

语法:

db.集合名.drop();

在这里插入图片描述

7.删除数据库

语法:

use  数据库
db.dropDatabase()

在这里插入图片描述

8.帮助命令

有的时候不知道命令该怎么写了,记不住了,可以使用帮助命令,当然了,肯定很鸡肋的,还不如自己做好笔记

8.1全局帮助指令

语法:

help

在这里插入图片描述

8.2数据库相关的帮助命令

语法:

db.help()

在这里插入图片描述

8.3集合相关的帮助命令

语法:

db.集合名.help() 

在这里插入图片描述

9.清屏命令

cls

10.查看当前操作的数据库

db

5.增删改查操作

1.添加文档

语法:

db.集合名.insert({
   k1:’v1’,k2:’v2’…..})

在这里插入图片描述

注意点:
(1)文档就是键值对,数据类型是BSON格式,支持的值更加丰富。
BSON格式是JSON格式的一种拓展,比JSON类型支持的类型更多
比如:

db.集合名.insert({
   name:’xiaobai’,spc:{
   weight:100,address:’guangzhou’}})

(2)在添加的文档里面,都有一个’_id’的键,值为对象类型。
在这里插入图片描述

ObjectId类型:
每个文档都有一个_id字段,并且同一集合中的_id值唯一,该字段可
以是任意类型的数据,默认是一个ObjectId对象。

ObjectId对象对象数据组成:时间戳 |机器码|PID|计数器
_id的键值我们可以自己输入,但是不能重复
注意:在插入数据的时候,如果_id的值重复则会报错。
在这里插入图片描述
在这里插入图片描述

(3)可以使用js代码来完成批量插入文档。

for(var i=1;i<=10;i++){
    db.info.insert({
   name:'Jack'+i,age:i,email:'Jack'+i+'@qq.com'}) }

  • 1
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值