MongoDB学习笔记(基础入门)


一、MongoDB是什么?

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很像,但是在细节上还是有差别。我是孤城浪人,一名正在前端路上摸爬滚打的菜鸟,欢迎你的关注。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值