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学习(二)的更多相关文章

  1. mongodb学习(二)分级查询数组中的值

    (PS: 标题有点不妥当...) 大概是这样...数据结构如下: 需要模糊查询title的值... mongodb中操作语句: 主要是注意这里urlElements不需要加[0]...我开始的时候写成 ...

  2. mongodb 学习二

    基本操作 增删改查实一个数据库必备的操作,接下来我们就说说怎么在shell下进行增删改查. 我们另外打开一个"命令指示符"窗口(注意:之前的不能关闭),输入mongo打开Mongo ...

  3. mongodb学习(二)

    昨天给ubuntu13.04安装ati的显卡驱动,ubuntu本来对ati的显卡支持不是很好,没办法unity启动器没有了,ccsm也没有任何作用,只得重新安装了12.10,近期也不打算升级13.04 ...

  4. MongoDB学习:(二)MongoDB简单使用

    MongoDB学习:(二)MongoDB简单使用 MongoDB使用: 执行mongodb的操作之前,我们需要运行命令,来进入操作命令界面 >mongo 提示该错误,说明我们系统缺少一个补丁,该 ...

  5. MongoDB学习总结(二)

    前言:学习札记! MongoDB学习总结(二) 1.  安装.初识 之前写过一篇MongoDB的快速上手文章,里边详细的讲了如何安装.启动MongoDB,这里就不再累述安装过程,简单介绍一下Mongo ...

  6. MongoDB学习笔记二- Mongoose

    MongoDB学习笔记二 Mongoose Mongoose 简介 之前我们都是通过shell来完成对数据库的各种操作, 在开发中大部分时候我们都需要通过程序来完成对数据库的操作 而Mongoose就 ...

  7. MongoDB学习笔记(二)--Capped集合 && GridFS存储文件

    Capped集合                                                            Capped集合的大小是固定的,如果空间都被用完了,新添加的对象 ...

  8. 【MongoDB学习之二】MongoDB数据库、文档、集合、元数据

    环境 MongoDB 4.0 CentOS6.5_x64 一.连接语法格式: mongodb://[username:password@]host1[:port1][,host2[:port2],.. ...

  9. Mongodb学习笔记一(Mongodb环境配置)

    Mongodb学习 说明: MongoDB由databases组成,database由collections组成,collection由documents组成,document由fileds组成.Mo ...

  10. MongoDB学习记录

    一.操作符 "$lt" :"<""$lte" :"<=""$gt" :"> ...

随机推荐

  1. 搭建基于Grafana+Prometheus+Nvidia_gpu_exporter的GPU监控平台

    搭建基于Grafana+Prometheus+Nvidia_gpu_exporter的GPU监控平台 在现代数据科学和机器学习领域,GPU已成为不可或缺的硬件资源.为了高效管理和监控GPU的使用情况, ...

  2. WPF 线程处理

    参考链接:https://docs.microsoft.com/zh-cn/previous-versions/dotnet/netframework-3.5/ms771750(v=vs.90)

  3. c++中bitset的常见用法

    C++ 中的 bitset 是一个用于处理固定大小位序列的模板类,提供高效的位操作功能.以下是对其关键特性的详细介绍: 1. 声明与初始化 头文件:需包含 <bitset>. 声明:bit ...

  4. signature hdr data: BAD (signature 头部数据:不当)

    这应该属于 rpm 4.12-4.13 早期版本的BUG,不止CentOS8会这样 解决方式也很干脆,就是手动更新rpm版本,跳过存在bug的版本,然后yum.rpm就都会正常,就可以自动更新最新的软 ...

  5. 了解了这些你就是一位优秀的CTO

    spring cloud 分布式 Ngix协议层做阻断应射处理 SpringBoot 容器+MVC框架 SpringSecurity 认证和授权框架 MyBatis ORM框架 Swagger-UI ...

  6. manim边学边做--相机Camera简介

    在Manim中,Camera是实现动画效果的重要工具之一. 它就像我们观察动画的 眼睛,通过控制相机的位置.角度和视野,可以创造出丰富多样的视觉效果. Manim社区版本中提供了多种Camera类型, ...

  7. Memcached深度剖析:解锁高性能分布式内存缓存的秘密

    引言 在当今快节奏的互联网世界中,应用程序的响应速度往往是用户体验的关键.为了提升性能,减轻数据库的压力,Memcached作为一种高性能的分布式内存对象缓存系统,被广泛应用于加速动态Web应用程序. ...

  8. 试试使用 Vitest 进行测试,确实可以减少bug

    vitest的简单介绍 Vitest 是一个基于 Vite 的单元测试框架,专为现代前端项目设计. 它结合了 Vite 的高性能和 Jest 的易用性, 提供了开箱即用的 TypeScript.ESM ...

  9. 探秘Transformer之(8)--- 位置编码

    探秘Transformer之(8)--- 位置编码 0x00 概述 位置编码(Positional Embedding)是一种用于处理序列数据的技术,被用来表示输入序列中的单词位置.在Transfor ...

  10. 通过fetch_mcp,让Cline能够获取网页内容。

    fetch_mcp介绍 GitHub地址:https://github.com/zcaceres/fetch-mcp 此MCP服务器提供了以多种格式(包括HTML.JSON.纯文本和Markdown) ...