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

news/2024/10/23 5:39:56/

目录

一、数据库操作

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.ppmy.cn/news/1015514.html

相关文章

2023-08-08 LeetCode每日一题(任意子数组和的绝对值的最大值)

2023-08-08每日一题 一、题目编号 1749. 任意子数组和的绝对值的最大值二、题目链接 点击跳转到题目位置 三、题目描述 给你一个整数数组 nums 。一个子数组 [numsl, numsl1, …, numsr-1, numsr] 的 和的绝对值 为 abs(numsl numsl1 … numsr-1 numsr) 。 请你找出 …

【数据结构与算法】十大经典排序算法-快速排序

&#x1f31f;个人博客&#xff1a;www.hellocode.top &#x1f3f0;Java知识导航&#xff1a;Java-Navigate &#x1f525;CSDN&#xff1a;HelloCode. &#x1f31e;知乎&#xff1a;HelloCode &#x1f334;掘金&#xff1a;HelloCode ⚡如有问题&#xff0c;欢迎指正&#…

Maven 打包生成Windows和Liunx启动文件

新建一个springboot项目。 1、项目结构 2、pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocati…

小程序如何使用防抖和节流?

防抖&#xff08;Debounce&#xff09;和节流&#xff08;Throttle&#xff09;都是用来优化函数执行频率的技术&#xff0c;特别在处理用户输入、滚动等频繁触发的情况下&#xff0c;它们可以有效减少函数的执行次数&#xff0c;从而提升性能和用户体验。但它们的工作方式和应…

【产品设计】消息通知系统设计

消息通知可以将内容实时送达用户手机页面&#xff0c;但是泛滥的消息通知会引起用户的反感&#xff0c;也违背了这个设计的初衷。 消息通知可以及时地将状态、内容的更新触达到用户&#xff0c;用户则可以根据收到的消息做后续判断。但是如果没有及时将重要消息触达到用户或者滥…

Unity 中检测射线穿过的所有的物体

在开发中 有个需求&#xff0c;射线要检测所有穿过的物体。 代码如下&#xff1a; using UnityEngine;public class HitCollider : MonoBehaviour {public float raycastDistance Mathf.Infinity;// Update is called once per framevoid Update(){Ray ray Camera.main.Scre…

WordPress获取文章所属分类名称或别名方法

最近在开发WordPress主题的时候&#xff0c;想要获取到文章所属分类名称或别名&#xff0c;想了半天没想到&#xff0c;于是去百度了下&#xff0c;马上就得到答案了。 非常简单&#xff0c;WordPress本身自带一个函数可以调出分类别名和链接&#xff1a; <?php the_cate…

C语言--结构体指针

结构体指针变量 引入&#xff1a; 指针就是地址&#xff0c;指针变量就是存放地址的变量 int a; int *p; p&a; 结构体也是变量 变量访问有两种方式&#xff1a;1.变量名 2.地址 struct Test t; struct Test *P; p&t; 通过结构体指针访问结构体&#xff1a;用’->来访…