美文网首页
mongodb学习1

mongodb学习1

作者: kevin5979 | 来源:发表于2020-12-02 19:51 被阅读0次

MongoDb 数据库介绍、安装、使用

  • 数据库和文件的主要区别
  • NoSql 介绍
  • NoSql 和传统数据库简单对比
  • NoSql 种类
  • MongoDb 介绍
  • MongoDb 安装
  • 使用 MongoDb

1. 数据库和文件的主要区别

  1. 数据库有数据表、行和列的概念,让我们存储操作数据更方便
  2. 数据库提供了非常方便的接口,可以让 nodejs、php、java、.net 很方便的实现增删改查功能

2. NoSql 介绍

NoSQL(Not Only SQL),即不仅仅是 SQL ,它指的是非关系型的数据库,是以 key-value 形式存储,和传统的关系型数据库不一样,不一定遵循传统数据库的一些基本要求,比如说遵循 SQL 标准、ACID 属性、表结构等等。

  • NoSQL 数据库在以下的几种情况下比较适用:
  1. 数据模型比较简单
  2. 需要灵活性更强的 IT 系统
  3. 对数据库性能要求较高
  4. 不需要高度的数据一致性
  5. 对于给定 key ,比较容易映射复杂值得环境
  6. 对数据库高并发读写的需求

NoSql 和传统数据库简单对比

非结构型数据库:没有行、列的概念。用 JSON 来存储数据,集合就相当于“表”,文档就相当于“行”**

NoSql 种类

键值(Key-Value)存储数据库

列存储数据库

文档型数据库

图形(Graph)数据库

MongoDb 介绍

​ MongoDB 是一个介于关系型数据库和非关系型数据库之间的产品,是非关系型数据库中功能最丰富,最想关系数据库的。它支持的数据结构非常松散,类似 json 的 bson 格式,因此可以存储比较复杂的数据类型。MongoDb 最大的特点是支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库表单查询的绝大部分功能,而且还支持对数据建立索引。他的特点是高性能、易部署、易使用,存储数据非常方便。

MongoDb 安装

MongoDb 数据库创建删除、表(集合)创建删除、数据增删改查

  1. 数据库使用
  2. 创建数据库
  3. 插入(增加数据)
  4. 查找数据
  5. 修改数据
  6. 删除数据

数据库使用

开启 MongoDb 服务:要管理数据库,必须先开启服务

mongod --dbpath d:\mongodb

管理 MongoDb 数据库:mongo (一定要在新的 cmd 中输入 本地)

连接远程数据库:mongo 127.0.0.1:27017

数据库基础操作

清屏:cls

查看数据库列表:show dbs

创建数据库

创建数据库:

use student

插入数据:

db.user.insert({"name":"kevin","age":18})
//向数据库 student 的表(集合)(user)中插入数据 {"name":"kevin","age":18} --> 必须为json数据

查询数据库集合:

1. use student
2. show collections

查询集合中的数据:

1. 查询所有记录
db.user.find()
// 相当于 select * from user


2. 查询去掉后的当前聚集集合中的某列的重复数据
db.user.distinct("name")
// 会过滤掉 name 中的相同数据
// 相当于 select distict name from user


3.查询 age = 22 的记录
db.user.find({"age":22})
// 相当于 select * from user where age = 22


4.查询 age > 22 的记录
db.user.find({"age":{$gt:22}})
// 相当于 select * from user where age > 22


5.查询 age < 22 的记录
db.user.find({"age":{$lt:22}})
// 相当于 select * from user where age < 22


6.查询 age >= 22 的记录
db.user.find({"age":{$gte:22}})
// 相当于 select * from user where age >= 22


7.查询 age <= 22 的记录
db.user.find({"age":{$lte:22}})
// 相当于 select * from user where age <= 22


8.查询 name="zhangsan" && age = 20 的数据
db.user.find({"name":"zhangsan","age":20})
// 相当于 select * from user where name = "zhangsan" and age = 20


9.查询 age > 20 && age <= 25 的数据
db.user.find({"age":{$gt:20,$lte:25}})
// 相当于 select * from user where age > 20 and age <= 25


10.查询 name 中包含 mongo 的数据  // 用于模糊查询
db.user.find({"name":/mongo/})
// 相当于 select * from user where name like '%mongo%'


11.查询 name 中以 mongo 开头的
db.user.find({"name":/^mongo/})
// 相当于 select * from user where name like 'mongo%'


12.查询指定列 name、age 数据
db.user.find({},{"name":true,"age":true})
// 相当于 select name,age from user
// 如果是 false 的话,就排除 name, 显示 name 以外的信息


13.查询指定列 name 数据, age > 25
db.user.find({"age":{$gt:25}},{name:true})
// 相当于 select name from user where age > 25


14.按照年龄排序  1 升序    -1 降序
  升序: db.user.find().sort({"age":1}) 
  降序: db.user.find().sort({"age":-1}) 


15.查询前 5 条数据
db.user.find().limit(5)
// 相当于 selsettop 5 * from userInfo


16.查询 10 条以后的数据
db.user.find().skip(10)
// 相当于 select * from user where id not in(selecttop 10 * from user)


17.跳过前三条数据,查找三条过后的另外三条数据  --> (用于分页)
db.user.find().skip(5).limit(3)
// limit 是 pageSize , skip 是 第几页 * pageSize


18.or 与 查询
db.user.find({$or:[{"age":22},{"age":25}]})
// 相当于 select * from user where age = 22 or age = 25


19.findOne查询第一条数据
db.user.findOne()  或者  db.user.fing().limit(1)
// 相当于 selecttop 1 * from user


20.查询某个结果集的记录条数  --> 统计数量
db.user.find({age:{$gte:25}}).count()
// 相当于 select count(*) from user where age >= 25
// 如果要返回限制之后的记录数量,要使用 count(true) 或者 count(非0)
db.user.find().skip(10).linit(5).count(true)

修改集合中的数据:

1.删除集合 返回 true / false
db.user.drop()            //删除 user 集合
// 相当于 drop(user)

2.删除表(库)
db.dropDatabase()


3.修改集合中的元素
db.user.update({"name":"zhangsan"},{$set:{"name":"zhangsan666"}})
// 相当于 update user set name = "zhangsan666" where name = "zhangsan"
// 不写 $set 表示直接全部覆盖


4.增加元素
db.user.update({name:'lisi'},{$inc:{age:50}},false,true)
// 相当于 update user set age = age + 50 where name = 'lisi'
db.user.update({name:'lisi'},{$inc:{age:50},$set:{name:'why'}},false,true)
// 相当于 update user set age = age + 50,name = 'why' where name = 'lisi'


5.删除集合中数据
db.user.remove({"age":22})
// 相当于 delete from user where age = 22
db.user.remove({"age":22},{justOne:true})     // 只删除一条数据

END

相关文章

  • #python实战计划#2.1筛选房源

    1. 练习准备: MongoDB的准备:MongoDB学习—(1)安装时出现The default storag...

  • MongoDB学习(1)-MongoDB安装

    什么是MongoDB MongoDB是由C++语言编写的,是一个具有分布式文件存储的开源数据库系统。MongoDB...

  • mongodb学习1

    MongoDb 数据库介绍、安装、使用 数据库和文件的主要区别NoSql 介绍NoSql 和传统数据库简单对比No...

  • mongodb学习(1)

    1.基本概念 database:数据库collection:数据库表/集合document:数据记录行/文档fie...

  • 20. Mongodb的介绍和安装

    Mongodb的介绍和安装 学习目标 了解 非关系型数据库的优势 了解 mongodb的安装 1. mongodb...

  • NoSQL and Cloud Service国外网站学习指南

    1. MongoDB University 最棒的MongoDB学习网站没有之一,基础课程只需3周的时间,总计学习...

  • MongoDB学习笔记(1)

    MongoDB的概述与安装 基本常识 启动WiredTiger引擎 创建数据库 use {dbName} 查看当前...

  • MongoDB学习笔记(1)

    MongoDB 是一款跨平台、面向文档的数据库。MongoDB 的运行方式主要基于两个概念:集合(collecti...

  • 25.Mongodb的权限管理

    Mongodb的权限管理 学习目标 1.了解 mongodb的权限管理 1. 为什么要进行权限管理的设置 刚安装完...

  • 最容易看懂的mongodb数据库

    python之mongodb学习 1.首先,先来介绍一下mongdb数据库 MongoDB 是由C++语言编写的,...

网友评论

      本文标题:mongodb学习1

      本文链接:https://www.haomeiwen.com/subject/pgmjcktx.html