文章目录

  • 一、MongoDB是什么?
  • 二、基础操作
  • 1.显示数据库
  • 2.选择数据库
  • 3.创建集合
  • 4.查看集合
  • 5.删除集合
  • 三、数据的基本操作
  • 1.插入数据
  • 2.查看数据
  • 3.修改数据
  • 4.删除数据
  • 总结



一、MongoDB是什么?

MongoDB 是一种文档数据库,它所具备的可扩展性和灵活性可以满足您对查询和索引的需求。

简单来说是一个数据库。

特点

  • 介于关系数据库和非关系数据库之间。
  • 而且它是基于分布式文件存储的数据库。
  • c++语言编写

二、基础操作

1.显示数据库

show databases

mongodb教程菜鸟 mongodb基础知识_数据

2.选择数据库

use databasename 选择local数据库(注意:这里如果选择的是不存在的数据库,不会报错,后期当该数据库中有数据时会自动创建。)

mongodb教程菜鸟 mongodb基础知识_node.js_02

3.创建集合

db.createCollection('集合名') 创建集合c1(也可隐式创建)

mongodb教程菜鸟 mongodb基础知识_数据库_03

4.查看集合

show collections

mongodb教程菜鸟 mongodb基础知识_数据_04

5.删除集合

db.集合名.drop()

mongodb教程菜鸟 mongodb基础知识_mongodb_05

三、数据的基本操作

1.插入数据

db.集合名.insert(Json数据)若集合不存在会隐式创建

mongodb教程菜鸟 mongodb基础知识_数据_06


mongodb会给插入的每一条数据增加一个全球唯一的_id(id组成:时间戳、机器码、pid、计数器)。

mongodb教程菜鸟 mongodb基础知识_数据_07

可以自己添加_id,在插入的Json数据中增加_id键就可以覆盖(不建议这么做)

mongodb教程菜鸟 mongodb基础知识_node.js_08


插入多条数据

db.c1.insert([
	{name: 1, age: 12},
	{name: 2, age: 13}
])

mongodb教程菜鸟 mongodb基础知识_mongodb教程菜鸟_09


mongodb支持部分Json语法,因此可以使用for循环插入多条数据.

for(var i = 0; i < 10; i++){
	db.c2.insert({name:'a' + i, age:i})
}

因为for循环是一条一条插入,前九条提示信息看不到,只能看到最后一条插入成功的提示。所以会有WriteResult({ "nInserted" : 1 })

mongodb教程菜鸟 mongodb基础知识_mongodb_10

2.查看数据

db.集合名.find(条件,[查询的列])中括号内为可选参数

条件:
查询所有数据:{}或不写
查询age=6的数据:{age:6}
查询age=5且性别为男的数据:{age:6,sex:‘男’}
查询的列:
查询所有的列:不写
查询age列:{age:1}
除了age列都显示:{age:0}
不管怎么写系统定义的_id都会显示

显示所有数据

mongodb教程菜鸟 mongodb基础知识_node.js_11


显示age=6的数据

mongodb教程菜鸟 mongodb基础知识_mongodb教程菜鸟_12


查询age=5且name=a6的数据

mongodb教程菜鸟 mongodb基础知识_数据_13


显示age列

mongodb教程菜鸟 mongodb基础知识_数据库_14


显示除age外所有列

mongodb教程菜鸟 mongodb基础知识_mongodb_15


运算符

运算符

作用

$gt

大于

$gte

大于等于

$lt

小于

$lte

小于等于

$ne

不等于

$in

in

nin

not in

例:

查询age>5的数据

mongodb教程菜鸟 mongodb基础知识_mongodb教程菜鸟_16


查询age=5,8的数据

mongodb教程菜鸟 mongodb基础知识_mongodb教程菜鸟_17

3.修改数据

db.集合名.update(条件,新数据,[是否新增,是否修改多条]) 是否新增:指条件匹配不到数据则插入(true是插入,false是不插入默认),找不到就将数据插入。
是否修改多条:指将匹配成功的数据都修改(true是,false否默认)。

目的是将名字a1修改为a10,但是默认使用新数据替换匹配到的数据,所以age:1没有了。

mongodb教程菜鸟 mongodb基础知识_mongodb_18

修改器

作用

$inc

递增

$rename

重命名列

$set

修改列值

$unset

删除列

使用修改器将a2的name修改为a11

mongodb教程菜鸟 mongodb基础知识_mongodb教程菜鸟_19

4.删除数据

db.集合名. remove(条件,[是否删除一条]) 是否删除一条:true是,false否默认

删除一条

mongodb教程菜鸟 mongodb基础知识_node.js_20


全部删除

mongodb教程菜鸟 mongodb基础知识_mongodb_21

总结

MongoDB 的基本操作就是这么多了,很多地方的语法和关系型数据库MySQL很像,但是在细节上还是有差别。我是孤城浪人,一名正在前端路上摸爬滚打的菜鸟,欢迎你的关注。