【MongoDB】数据库、集合、文档常用CRUD命令

news2024/12/28 18:13:58

目录

一、数据库操作

1、创建数据库操作

2、查看当前有哪些数据库

3、查看当前在使用哪个数据库

4、删除数据库

二、集合操作

1、查看有哪些集合

2、删除集合

3、创建集合

三、文档基本操作

1、插入数据

2、查询数据

3、删除数据

4、修改数据

四、文档分页查询

五、文档其他查询

1、正则条件查询(模糊查询)

2、比较查询

3、包含查询(in)

4、条件查询


一、数据库操作

1、创建数据库操作

use 数据库名  # 如果该数据库存在,则该命令变为使用该数据库

2、查看当前有哪些数据库

show dbs  # 也可以使用show databases进行查看

3、查看当前在使用哪个数据库

db 

4、删除数据库

db.dropDatabase()  # 将当前数据库删除

二、集合操作

1、查看有哪些集合

show collections

2、删除集合

db.name.dropCollection()  # 将名为name的集合删除

3、创建集合

集合的创建有两种方式:显示创建、隐式创建,其中隐式创建是在进行文档插入时自动创建出的集合,在下文提及,这里先学习显示创建

db.createCollection(name)   # 创建出一个名为name的集合

三、文档基本操作

1、插入数据

db.collection.insert(data)

#  将数据插入collection中此处的collection是具体的集合名称,如果该集合不存在于数据库,则会隐式的创建出该集合并将数据插入

db.collection.insertMany([{数据1},{数据2}])  # 将多个数据插入

示例:db.person.insert({"username":"zs","age":"10"})

2、查询数据

db.collection.find()  # 将数据全部查询

db.collection.find({username:"zs"})  # 根据条件进行查询 db.collection.find({username:"zs"},{username:1,_id:0}) # 投影查询,其中1表示显示字段,0表示不显示该字段

3、删除数据

db.collection.remove({})  # 全部删除

db.collection.remove({_id:"111"}) # 将id为111的数据删除

4、修改数据

db.collection.update({userid:"1"},{username:"zs"})  # 覆盖修改,将userid为1的数据修改为username:"zs"},这种修改方式会导致其他字段消失,仅留下第二个参数的数据

db.collection.update({userid:"1"},{$set:{username:"zs"}})  # 这种修改会将userid为1的第一条数据中的username这一个字段修改为zs,其余字段不会被删除

db.collection.update({userid:"1"},{username:"zs"},{multi:true}) # 这种修改会将userid为1的所有数据的username进行修改

db.collection.update({userid:"1"},{$inc:{count:NumberInt(1)}})  # 会将userid为1的用户的count字段自增1

四、文档分页查询

db.collection.count(条件)# 统计该集合中的数据条数,如果不加条件则是全部数据的条数

db.collection.find(条件).skip(数值m).limit(数值n) # 指的是查询符合条件的数据中跳过m条后取n条数据返回

db.collection.find(条件).sort({userid:1,id:-1}) # 其中1指的是按照userid升序 -1指的是按照id降序 

五、文档其他查询

1、正则条件查询(模糊查询)

db.collection.find({username:/ss/})   # 查询集合里username中包含ss的数据

db.collection.find({username:/^张/})  # 查询集合里username以张开头的数据

2、比较查询

db.collection.find({count:{$gt:NumberInt(30)})  # 查询集合中count字段值大于30的数据

< :  $lt

<= : $lte 

> : $ gt

>= :$gte

!=  : $ne

3、包含查询(in)

db.collection.find({count:{$in:[11,12]}})  # 查询集合里count是11,12的数据

如果是排除11与12则使用$nin 

4、条件查询

db.collection.find({$and[{条件1},{条件2}]})

db.collection.find({$or[{条件1},{条件2}]})

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/848750.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java课题笔记~ Spring 的事务管理

一、Spring 的事务管理 事务原本是数据库中的概念&#xff0c;在 Dao 层。但一般情况下&#xff0c;需要将事务提升到业务层&#xff0c;即 Service 层。这样做是为了能够使用事务的特性来管理具体的业务。 在 Spring 中通常可以通过以下两种方式来实现对事务的管理&#xff…

Java基础(七)排序算法

排序 1. 冒泡排序 >> 冒泡排序的思想 冒泡排序是一种简单的排序算法&#xff0c;其基本思想是通过多次遍历待排序序列&#xff0c;依次比较相邻的元素并交换位置&#xff0c;使得每次遍历后最大&#xff08;或最小&#xff09;的元素冒泡到序列的末尾。具体步骤如下&a…

一、 Mysql索引

一、 Mysql索引 001 Mysql如何实现的索引机制&#xff1f; MySQL中索引分三类&#xff1a;B树索引、Hash索引、全文索引 002 InnoDB索引与MyISAM索引实现的区别是什么&#xff1f; MyISAM的索引方式都是非聚簇的&#xff0c;与InnoDB包含1个聚簇索引是不同的。 在InnoDB存储引…

C++派生类的构造函数

1.构造函数 定义了派生类之后&#xff0c;要使用派生类就需要声明该类的对象。对象在使用之前必须初始化。 派生类的成员对象是由所有基类的成员对象共同组成的。因此构造派生类函数的对象时&#xff0c;就要对基类的成员对象和新增的成员对象进行初始化。 基类的构造函数并…

负载均衡–HAProxy安装及搭建tidb数据库负载服务

作为一名开发人员&#xff0c;随着经验的增加和技术的沉淀&#xff0c;需要提高自己架构方面的知识&#xff0c;同时对于一个企业来说&#xff0c;搭建一套高可用、高性能的技术架构&#xff0c;对于公司的业务开展和提高服务的性能也是大有裨益的。本文重点从软件安装和搭建ti…

数字体验监控 (DEM)解决方案

数字体验监控 &#xff08;DEM&#xff09; 是监控 Web 应用程序的前端和后端以确保无缝交付和最佳性能的过程&#xff0c;DEM 提供对业务应用程序可用性的洞察&#xff0c;可以对其进行分析以改善用户体验。 为什么数字体验监控很重要 在未确保最佳性能和适当行为的情况下向…

python实现对图油画、卡通、梦幻、草图、水彩效果

本篇博客将介绍如何使用wxPython模块和OpenCV库来实现对图像进行灰度化、二值化、伽马校正、色彩空间转换和图像反转这5种效果的合并程序。程序可以通过wxPython提供的GUI界面来选择图片路径和效果类型&#xff0c;程序会将处理后的图像保存到指定路径并打开。 步骤一&#xf…

W5500-EVB-PICO作为TCP Client 进行数据回环测试(五)

前言 上一章我们用W5500-EVB-PICO开发板通过DNS解析www.baidu.com&#xff08;百度域名&#xff09;成功得到其IP地址&#xff0c;那么本章我们将用我们的开发板作为客户端去连接服务器&#xff0c;并做数据回环测试&#xff1a;收到服务器发送的数据&#xff0c;并回传给服务器…

《吐血整理》高级系列教程-吃透Fiddler抓包教程(37)-掌握Fiddler中Fiddler Script用法你有多牛逼-下

1.简介 Fiddler是一款强大的HTTP抓包工具&#xff0c;它能记录所有客户端和服务器的http和https请求&#xff0c;允许你监视&#xff0c;设置断点&#xff0c;甚至修改输入输出数据. 使用Fiddler无论对开发还是测试来说&#xff0c;都有很大的帮助。Fiddler提供的功能基本上能…

在线高精地图生成算法调研

1.HDMapNet 整体的网络架构如图所示&#xff0c;最终的Decoder输出三个分支&#xff0c;一个语义分割&#xff0c;一个embedding嵌入分支&#xff0c;一个方向预测。然后通过后处理将这些信息处理成向量化的道路表示。 img2bev的方式之前有IPM&#xff0c;通过假设地面的高度都…

模仿火星科技 基于cesium+水平面积测量+可编辑

​ 当您进入Cesium的编辑水平积测量世界&#xff0c;下面是一个详细的操作过程&#xff0c;帮助您顺利使用这些功能&#xff1a; 1. 创建提示窗&#xff1a; 启动Cesium应用&#xff0c;地图场景将打开&#xff0c;欢迎您进入编辑模式。 在屏幕的一角&#xff0c;一个友好的提…

Linux6.34 Kubernetes yaml文件详解

文章目录 计算机系统5G云计算第三章 LINUX Kubernetes yaml文件详解一、yaml文件概述1.查看 api 资源版本标签2.写一个yaml文件demo 计算机系统 5G云计算 第三章 LINUX Kubernetes yaml文件详解 一、yaml文件概述 Kubernetes 支持 YAML 和 JSON 格式管理资源对象 JSON 格式…

ArcGIS Pro基础:【划分】工具实现等比例、等面积、等宽度划分图形操作

本次介绍【划分】工具的使用&#xff0c;如下所示&#xff0c;为该工具所处位置。使用该工具可以实现对某个图斑的等比例面积划分、相等面积划分和相等宽度划分。 【等比例面积】&#xff1a;其操作如下所示&#xff0c;其中&#xff1a; 1表示先选中待处理的图斑&#xff0c;2…

利用GPT打造你的博客|论文的专属讲解员→强制让GPT学习你的知识?(不需要魔法)

文章目录 1 前言2 搭建我的博客问答系统2.1 平台介绍&#xff08;不需要魔法即可访问&#xff09;2.2 前期准备2.3 上传博客作为数据集至Dify2.4 搭建你的博客回答专员 3 利用有针对性的GPT帮助我们阅读前沿论文4 结语 个人博客专属问答员&#xff1a;demo 1 前言 GPT是生成式…

React入门学习笔记3

事件处理 通过onXxx属性指定事件处理函数(注意大小写) React使用的是自定义(合成)事件, 而不是使用的原生DOM事件——为了更好的兼容性 eg&#xff1a;οnclick》onClickReact中的事件是通过事件委托方式处理的(委托给组件最外层的元素)——为了更高效通过event.target得到发生…

Go context.WithCancel()的使用

WithCancel可以将一个Context包装为cancelCtx,并提供一个取消函数,调用这个取消函数,可以Cancel对应的Context Go语言context包-cancelCtx 疑问 context.WithCancel()取消机制的理解 父母5s钟后出门&#xff0c;倒计时&#xff0c;父母在时要学习&#xff0c;父母一走就可以玩 …

视频怎么改成gif格式?简单几步就可以轻松视频转gif

平时我们使用的许多gif图片&#xff0c;其实都是视频片段&#xff0c;那么是怎么把视频转gif格式的呢&#xff1f;可以使用视频转gif工具来完成gif制作&#xff0c;下面就给大家分享一个简单的视频转gif在线制作&#xff08;https://www.gif.cn&#xff09;的方法&#xff0c;一…

pycharm离线安装依赖包

一、对于单个下载离线包&#xff0c;然后安装 1、先去https://pypi.org/网站下载离线包&#xff0c;下载到本地&#xff1b; 2、从磁盘中找到刚刚下载包&#xff0c;点击确定就可以安装了 二、将本地项目所有依赖包全部下载下来&#xff0c;然后批量在另一个项目&#xff…

Linux抓包工具----tcpdump

这是一个目录 一、什么是tcpdump二、为什么要用tcpdump三、tcpdump在哪里&#xff1f;四、怎么用tcpdump&#xff1f;4.1 命令格式4.2 常用选项4.2.1 对网络接口抓包 -i4.2.2 指定收取数据包的数量 -c4.2.3 不把ip转换成域名&#xff0c;直接显示ip -n4.2.4 显示ip和端口号 -nn…

权限校验—接口检验

一、背景介绍 最近项目中要实现根据不同用户去划分不同的角色&#xff0c;而不同角色具备调用不同接口的权限这个功能。用户在调用接口时需要校验用户是否具有权限访问接口&#xff0c;防止外界恶意调用随意篡改 二、思路&方案 为什么要进行接口鉴权&#xff1f; 接口鉴权…