MongoDB学习(二)

MongoDB基本操作

查看数据库

语法: show databases

选择数据库

  • 语法:use 数据库名
  • 注意:在MongoDB中选择不存在的数据库不会报错,后期当该数据库有数据时,系统会自动创建,这叫隐式创建

查看集合

语法:show collections

创建集合

语法:db.createCollection("集合名")

删除集合

语法:db.集合名.drop()

删除数据库

注:方法很多,只写一种

步骤一:通过use语法选中数据库
步骤二:通过db.dropDatabase()即可删除所选中的数据库

MongoDB文档增删改查操作(CRUD)

cmd中清屏操作:cls(有需要可以使用)

1、集合中插入数据

首先: cmd进入mongodb安装目录下的bin目录下mongo命令启动mongodb
  • 语法:db.集合名.insert(JSON数据)
  • 例:db.c1.insert({uname:"hhs",age:18})
  • 查看集合数据的语法:db.c1.find()
  • 说明:集合存在,则直接插入数据 集合不存在-隐式创建

插入多条记录的方法:

db.c1.insert([
  {uname:"z1",age:20},
  {uname:"z2",age:16},
  {uname:"z3",age:25}
])

快速插入10条数据

说明:mongodb底层使用JS引擎实现的,所以支持部分js语法,因此可以写for循环
for(var i=1;i<10;i++){
  db.c1.insert({uname:"a"+i,age:i})
}

2、查询集合中的数据

基础语法:db.集合名.find(条件,查询的列 )

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

语法升级

db.集合名.find({键:值})   注:值不直接写
db.集合名.find({
  键:{运算符:值}
})
例:db.c1.find({age:{$gt:5} },{uname:1})   查询年龄大于5的人
   db.c1.find({age:{$in:[5,8,10]} },{uname:1})  查询年龄等于5,8,10的人
运算符 作用
$gt 大于
$gte 大于等于
$lt 小于
$lte 大于
$ne 不等于
$in in
$nin not in

3、修改集合数据

基础语法:db.集合名.update(条件,新数据,是否新增,是否修改多条)

第三个第四个参数讲解,可写可不写,根据需要来:
   是否新增:指的是条件匹配不到的数据则插入,true是插入,false是表示不插入(默认)
   是否修改多条:指将匹配成功的数据都修改(true是,false否(默认)) 

升级语法:

先看这种语法:db.c3.update({uname:"zs1"},{uname:"zs2"})
如上方法默认不是修改,而是替换
解决办法:使用升级语法,修改器
db.集合名.update(条件,新数据)
            {修改器:{键:值} }
例: db.c3.update({uname:"zs2"},{$set:{uname:"zs22"} })   通过修改器避免数据被替换
     db.c3.update({uname:"zs10"},{$inc:{age:12} })
修改器 作用
$inc 递增
$rename 重命名列
$set 修改列值
$unset 删除列
修改器综合练习:
   先插入一条数据:db.c3.insert({uname:"666",age:888,sex:'男',other:"外国人"})
   修改语句:db.c3.update({uname:"666"},{$set:{uname:"张无忌"},$inc:{age:111},$rename:{sex:'sexx'},$unset:{other:true} })  
   解释:将c3集合中uname为666的数据中uname改为张无忌,age增加111,rename的列值sex改为sexx,删除掉了other这个列

4、删除集合数据

语法:

  • db.集合名.remove(条件,是否删除一条)

  • 例:db.c3.remove({uname:"zs10"},true)

  • 是否删除一条:true是,false否

  • 如果为false则全部删除,默认就为false

posted @   小侯学编程  阅读(12)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示