首页 > 数据库 >MongoDB学习(二)

MongoDB学习(二)

时间:2022-09-05 08:59:08浏览次数:72  
标签:语法 MongoDB age db 学习 uname 集合 数据

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

标签:语法,MongoDB,age,db,学习,uname,集合,数据
From: https://www.cnblogs.com/hhs-5120/p/16656824.html

相关文章

  • 提供实时机器学习预测服务简介
    提供实时机器学习预测服务简介实时机器学习越来越受到用例的关注,例如使用编码为特征的近期会话活动的实时推荐模型、音乐会门票预订/拼车应用程序中使用的激增价格预测算......
  • Vue学习之--------深入理解Vuex之getters、mapState、mapGetters(2022/9/3)
    这一篇博客的内容是在上一篇博客的基础上进行:深入理解Vuex、原理详解、实战应用@目录1、getters的使用1.1概念1.2用法1.3如何读取数据2、getters在项目中的实际应用3......
  • Vue学习之--------深入理解Vuex之多组件共享数据(2022/9/4)
    在上篇文章的基础上:Vue学习之--------深入理解Vuex之getters、mapState、mapGetters1、在state中新增用户数组2、新增Person.vue组件提示:这里使用nanoid来生成新用户......
  • 将机器学习应用于 A/B 假设测试
    将机器学习应用于A/B假设测试什么是A/B测试?A/B测试是一种比较某事物的两个版本以确定哪个性能更好的方法。虽然它最常与网站和应用程序相关联,但该方法已有近100......
  • Vue学习之--------深入理解Vuex之模块化编码(2022/9/4)
    在以下文章的基础上1、深入理解Vuex、原理详解、实战应用:https://blog.csdn.net/weixin_43304253/article/details/1266513682、深入理解Vuex之getters、mapState、mapG......
  • 零基础学习Python字典操作
    零基础学习Python字典操作在Python中,字典是一种可以将相关的两个信息关联起来的操作,并且字典可存储的信息量几乎不受限制,下面一起来跟小编学习一下如何访问和使用字典中......
  • 用于分类的最佳监督机器学习
    用于分类的最佳监督机器学习Thepictureisfromhttps://www.montessoriservices.com/vertebrate-invertebrate-classification-cards-1965.分类是一种基于数据对事物......
  • 医疗保健中的机器学习用例
    医疗保健中的机器学习用例资源医疗保健行业有很多机会利用机器学习。ML通过改变患者护理、简化管理流程和在没有人工干预的情况下处理数据,在医疗保健领域取得了长足进......
  • 数据结构预算法学习笔记 —— 双端队列(Deque)
    双端队列(Deque)1.简介双端队列是一种有次序的数据集。和队列相似,其两端也可以称作为”首“”尾“段,但deque中数据项既可以从队首加入,也可以从队尾加入。同样,数据项也可以......
  • Mybatis学习笔记(五)——resultMap元素
    resultMap是MyBatis中最复杂的元素,主要用于解决实体类属性名与数据库表中字段名不一致的情况,可以将查询结果映射成实体对象。下面我们先从最简单的功能开始介绍。现有......