Mongodb 基础入门

86 阅读3分钟

一、MongoDB是什么?

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第16天,点击查看活动详情

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

简单来说是一个数据库。

特点

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

二、基础操作

1.显示数据库

show databases 在这里插入图片描述

2.选择数据库

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

3.创建集合

db.createCollection('集合名') 创建集合c1(也可隐式创建) 在这里插入图片描述

4.查看集合

show collections 在这里插入图片描述

5.删除集合

db.集合名.drop() 在这里插入图片描述

三、数据的基本操作

1.插入数据

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

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

在这里插入图片描述

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

在这里插入图片描述 插入多条数据

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

在这里插入图片描述 mongodb支持部分Json语法,因此可以使用for循环插入多条数据.

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

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

在这里插入图片描述

2.查看数据

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

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

显示所有数据 在这里插入图片描述

显示age=6的数据

在这里插入图片描述

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

在这里插入图片描述

显示age列

在这里插入图片描述

显示除age外所有列

在这里插入图片描述 运算符

运算符作用
$gt大于
$gte大于等于
$lt小于
$lte小于等于
$ne不等于
$inin
ninnot in

例: 查询age>5的数据

在这里插入图片描述

查询age=5,8的数据 在这里插入图片描述

3.修改数据

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

目的是将名字a1修改为a10,但是默认使用新数据替换匹配到的数据,所以age:1没有了。 在这里插入图片描述

修改器作用
$inc递增
$rename重命名列
$set修改列值
$unset删除列

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

在这里插入图片描述

4.删除数据

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

删除一条 在这里插入图片描述 全部删除 在这里插入图片描述

总结

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