mongodb基本操作

查看数据库

show databases
在这里插入图片描述

选择数据库

use 数据库名

隐式创建,没有则自动创建
在这里插入图片描述

查看集合

show collections

创建集合

db.createCollection
在这里插入图片描述

删除集合

db.集合名.drop()

在这里插入图片描述

如何删除数据库?

  1. 通过use语法选中数据库

  2. 通过db.dropDatabase()删除数据库

mongodb集合中的数据增删改查

db.集合名.insert(JSON数据)

在这里插入图片描述
_id的生成
在这里插入图片描述

**自定义_id值 **

只需要插入的json数据增加_id即可覆盖(但实战强烈不推荐)
db.c1.insert({_id: '1',username: 'ht',age:18,sex: '女'})

**多条数据的插入 **

db.集合名.insert([

{username: 'hh',age: 12},

{username: 'aa',age: 13},

{username: 'bb',age: 14}

])

在这里插入图片描述

**如何快速插入10条数据 **

mongodb底层支持js写法
for(var i=0;i<10;i++) {print(i) }

需求:在c2集合中插入10条数据,分别为a0~a9
for(var i=0;i<10;i++){
db.c2.insert({username: 'a'+i,age: i})
}

在这里插入图片描述

db.集合名.find(条件,【,查询的列】)

条件
	查询所有数据			{}或者不写
	查询age=6的数据   {age:6}
	既要age=6又要性别=男 {age: 6, sex: '男'}
查询的列(可选参数)
	不写 - 这里查询全部列(字段)
	{age: 1} 只展示age列(字段)
	{age: 0} 除了age列(字段都显示)
	留心:不管你怎么写,系统自定义的_id都会在

升级语法

db.集合名.find({键:值}) 注:值不直接写
									{运算符: 值}
运算符作用
$gt大于
$gte大于等于
$lt小于
$lte小于等于
$ne不等于
$inin
$ninnot in

练习1:查询所有数据

db.c1.find({}) | db.c1.find()

练习2:查询年龄大于5岁的数据

db.c1.find({age:{$gt:5}})

在这里插入图片描述

练习3: 查询年龄是5岁,8岁,10岁的数据

db.c2.find({age: {$in: [5,8,10]}})

在这里插入图片描述

练习4:只看年龄列,或者年龄以外的列(_id别管)

db.c1.find({},{age:1}) 只看年龄列
db.c1.find({},{age:0}) 看年龄以外的列

在这里插入图片描述

db.集合名.update(条件,新数据【,是否新增,是否修改多条】)

是否新增: 指条件匹配不到数据则插入(true是插入,false是不插入默认)
是否修改多条:指将匹配成功的数据都修改(true是,false否默认)

**升级语法 **

db.集合名.update.(条件,新数据)
											{修改器:{键:值}}
运算符作用
$inc递增
$rename重命名列
$set修改列值
$unset删除列

准备工作

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

练习1: 将a1的username改成a2

db.c3.update({username: 'a1'},{username: 'a2'})

在这里插入图片描述

发现:默认是替换,不是修改
解决: 使用升级语法 修改器
需求: 使用修改器将a3姓名改成a33
语法: db.c3.update({username: 'a3'},{$set:{username: 'a33'}})

在这里插入图片描述

练习2:给username为a4的年龄加10

db.c3.update({username: 'a4'},{$inc:{age:10}})

在这里插入图片描述

练习3: 修改器综合练习

完成需求:
1.username 改成 美少男 (修改器: s e t ) 2. a g e 增 加 111 ( 修 改 器 : set) 2.age 增加111 (修改器: set)2.age111(inc)
3.who 改字段 sex (修改器: r e n a m e ) 4. o t h e r 删 除 ( 修 改 器 : rename) 4.other 删除 (修改器: rename)4.other(unset)

db.c4.insert({username: ‘美少女’,age: 888,who: ‘男’,other: ‘非国人’})

db.c4.update({username:'美少女'},{$set: {username:'美少男'},$inc: {age: 111},$rename: {who: 'sex'},$unset: {other: true}})

在这里插入图片描述

验证语法最后两个参数

【验证】是否新增: 修改username等于a30的年龄 30

db.c3.update({username: 'a40'},{$set:{age: 30}},true)
第三个参数为true,没有则添加,默认为false

在这里插入图片描述

【验证】是否修改多条

db.c3.update({},{$set: {age: 10}}, false,false) 默认只修改一个
db.c3.update({},{$set: {age: 10}}, false,true)

在这里插入图片描述

db.集合名.remove(条件,【,是否删除一条】)
注意是否删除一条true是,false否 默认

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值