首页 > 技术文章 > MongoDB笔记

zjkstudy 2019-11-21 14:29 原文

数据库

数据库:数据库是按找数据结构来组织、存储和管理数据的仓库。断电存储。

数据库的分类

关系型数据库(RDBMS):mysql 、oracle 、db2、sql server

  • 关系型数据库中都是表

非关系型数据库(NoSQL):MongoDB、Redis

  • 键值对数据库
  • 文档数据库MongoDB

在这里插入图片描述

Mongodb

MongoDB 简介

  • MongoDB是为快速开发互联网Web应用而设计的数据库系统;
  • MongoDB的设计目标是极简、灵活、作为Web应用栈的一部分;
  • MongoDB的数据模型是面向文档的,文档是类似于FJSON的结构。

三个基本概念

  • 数据库

数据库是一个仓库,在仓库中可以存放集合。

  • 集合(collection)

集合类似于数组,在集合中可以存放文档

  • 文档

文档是数据库的最小单位,操作和存储的都是文档。

当我们创建文档时,如果文档所在的集合或数据库不存在会自动创建数据库和集合。

在这里插入图片描述

常见操作

基本指令

显示当前所有数据库:show dbs

进入数据库:use dbname(数据库名字)

当前所处数据库: db

显示数据库中所有的集合:show collections

增删改查(CRUD)

增加

db.collection.insert(doc)

注:这里的collection是指文档的名字,doc是指文档内容

当我们向集合种插入文档时,如果没有给文档_id属性,则数据库会自动为文档添加_id属性

db.collection.inserrOne() 插入一个文档对象

db.collection.inserrMany() 插入多个文档对象

查询

db.collections.find() 返回的是一个数组。

注:这里的collection是指文档的名字,find()括号内可以接收一个对象作为条件参数。

db.collection.findOne() 查询集合种符合条件的第一个文档,findone返回的是一个对象。

db.collection.find().count(); 查询所有结果的数量

修改

db.collection.update(查询条件,新对象)

  • update()默认情况下会使用新对象来替换旧的对象

  • 如果需要修改指定的属性,而不是替换需要使用“修改操作符”来完成

    $set 用来修改文档中的指定属性

    $unset 可以用来删除文档的指定属性

删除

db.collection.remove()

  • 删除符合条件的所有文档(默认情况下会删除多个) 如果remove()第二个参数传递一个true,则只会删除一个。如果只传递一个空对象作为参数,则会删除集合中的所有文档。

db.collection.deleteOne()

db.collection.deleteMany()

db.collection.remove()

  • remove() 可以根据条件来删除文档,传递的条件和find()一样。删除一个或多个,可以第二个参数传递一个true,则只会删除一个。如果传递一个空对象,则会删除所有的。

db.collection.drop() 删除集合

db.dropDatabase() 删除数据库

  • 一般不会删除数据库,删除数据一般用标签表示。isDel

推荐阅读