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

目录

一、数据库操作

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.rhkb.cn/news/89407.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

三维可视化平台有哪些?Sovit3D可视化平台怎么样?

随着社会经济的发展和数字技术的进步&#xff0c;互联网行业发展迅速。为了适应新时代社会发展的需要&#xff0c;大数据在这个社会经济发展过程中随着技术的进步而显得尤为重要。同时&#xff0c;大数据技术的快速发展进程也推动了可视化技术的飞速发展&#xff0c;国内外各类…

【Sklearn】基于随机森林算法的数据分类预测(Excel可直接替换数据)

【Sklearn】基于随机森林算法的数据分类预测&#xff08;Excel可直接替换数据&#xff09; 1.模型原理1.1 模型原理1.2 数学模型 2.模型参数3.文件结构4.Excel数据5.下载地址6.完整代码7.运行结果 1.模型原理 随机森林&#xff08;Random Forest&#xff09;是一种集成学习方法…

flutter开发实战-实现左右来回移动的按钮引导动画效果

flutter开发实战-实现左右来回移动的按钮引导动画效果 最近开发过程中需要实现左右来回移动的按钮引导动画效果 一、动画 AnimationController用来控制一个或者多个动画的正向、反向、停止等相关动画操作。在默认情况下AnimationController是按照线性进行动画播放的。Animati…

五个独特且有趣的ChatGPT指令

今天分享5个很实用的指令&#xff0c;这几个指令很多时候对我们输出内容的连贯性、文章风格、创意性等方面有着决定性的作用。 目录 第一个&#xff1a;Max tokens&#xff08;最大令牌&#xff09; 第二个&#xff1a;Top_p(控制采样) 第三个&#xff1a;Presence_penalty …

draw.io画图时,用一个箭头(线段)连结一个矩形和直线时,发现,无论怎么调节,都无法使其无缝连接。

问题描述&#xff1a;draw.io画图时&#xff0c;用一个箭头&#xff08;线段&#xff09;连结一个矩形和直线时&#xff0c;发现&#xff0c;无论怎么调节&#xff0c;都无法使其无缝连接。要么少一段&#xff0c;如图1所示。要么多一段&#xff0c;如图2所示。 图1&#xff0c…

卫星--夏令营

几何问题&#xff1a;就是用几何数学知识解题即可 但是越是数学编程题&#xff0c;越容易忽略数学题中的细节 1.地球半径你算进去了吗? 2.sin三角函数&#xff0c;M_PI标准圆周率在cmath文件里 3.有可能给出的夹角超过180呢&#xff0c;没给数据要求&#xff0c;就要自己考…

在生产环境中部署Elasticsearch:最佳实践和故障排除技巧———索引与数据上传(二)

前言 「作者主页」&#xff1a;雪碧有白泡泡 「个人网站」&#xff1a;雪碧的个人网站 「推荐专栏」&#xff1a; ★java一站式服务 ★ ★ React从入门到精通★ ★前端炫酷代码分享 ★ ★ 从0到英雄&#xff0c;vue成神之路★ ★ uniapp-从构建到提升★ ★ 从0到英雄&#xff…

使用阿里云服务器搭建Discuz论坛网站教程基于CentOS系统

阿里云百科分享使用阿里云服务器建站教程&#xff0c;本文是搭建Discuz论坛&#xff0c;Discuz!是一款通用的社区论坛软件系统&#xff0c;它采用PHP和MySQL组合的基础架构&#xff0c;为您提供高效的论坛解决方案。本文介绍如何在CentOS 7操作系统的ECS实例上搭建Discuz! X3.4…

JAVA宝典----输入输出流(理解记忆)

目录 一、 Java IO流的实现机制是什么&#xff1f; 二、Java中有几种类型的流&#xff1f; 三、管理文件和目录的类是什么&#xff1f; 四、Java Socket是什么&#xff1f; 五、什么是 JAVA NIO&#xff1f; 六、 什么是Java序列化&#xff1f; &#xff08;1&#xff09;序…

连续两年增收不增利,比亚迪电子靠新能源汽车业务再次起飞?

在净利润连续两年下挫之后&#xff0c;比亚迪电子&#xff08;00285.HK&#xff09;终于迎来了好消息。 不久前比亚迪电子发布2023年中期盈利预告显示&#xff0c;上半年净利润同比增加115%-146%&#xff08;2022年上半年的净利润显示6.34亿元&#xff09;。 这主要受益于大客…

tomcat多实例与动静分离

实验&#xff1a;在一台虚拟机上配置多台tomcat 1.配置 tomcat 环境变量 vim /etc/profile.d/tomcat.sh source /etc/profile.d/tomcat.sh 2.修改 tomcat2 中的 server.xml 文件&#xff0c;要求各 tomcat 实例配置不能有重复的端口号 vim /usr/local/tomcat/tomcat2/conf/…

山东布谷科技直播平台搭建游戏开发技术分享:数据存储的重要意义

在市场上的热门的直播平台中&#xff0c;有很多小程序为用户提供各种各样的功能&#xff0c;这其中就有很多游戏小程序&#xff0c;当今社会独生子女众多&#xff0c;很多作为独生子女的用户都会去选择一个能够社交互动的APP来填补内心的空虚&#xff0c;而直播平台的实时互动的…

Node.js学习笔记-04

这第九章也是个大重点 九、玩转进程 Node在选型时决定在V8引擎之上构建&#xff0c;也就意味着它的模型与浏览器类似。 本章关于进程的介绍和讨论将会解决如下两个问题&#xff1a; 单进程单线程并非完美&#xff0c;如今CPU基本均是多核的&#xff0c;真正的服务器&#xf…

MySQL 8 group by 报错 this is incompatible with sql_mode=only_full_group_by

文章目录 sql_mode配置ONLY_FULL_GROUP_BYSTRICT_TRANS_TABLESNO_ZERO_IN_DATENO_ZERO_DATEERROR_FOR_DIVISION_BY_ZERONO_AUTO_CREATE_USERNO_ENGINE_SUBSTITUTION 局部修改配置windows修改配置Linux修改配置 sql_mode配置 ONLY_FULL_GROUP_BY 用于控制是否允许对查询结果进…

springboot汽车租赁后台java出租客户管理jsp源代码mysql

本项目为前几天收费帮学妹做的一个项目&#xff0c;Java EE JSP项目&#xff0c;在工作环境中基本使用不到&#xff0c;但是很多学校把这个当作编程入门的项目来做&#xff0c;故分享出本项目供初学者参考。 一、项目描述 springboot汽车租赁后台 系统有1权限&#xff1a;管理…

mysql索引的数据结构(Innodb)

首选要注意,这里的数据结构是存储在硬盘上的数据结构,不是内存中的数据结构,要重点考虑io次数. 一.不适合的数据结构: 1.Hash:不适合进行范围查询和模糊匹配查询.(有些数据库索引会使用Hash,但是只能精准匹配) 2.红黑树:可以范围查询和模糊匹配,但是和硬盘io次数比较多. 二…

NLP文本匹配任务Text Matching [有监督训练]:PointWise(单塔)、DSSM(双塔)、Sentence BERT(双塔)项目实践

NLP文本匹配任务Text Matching [有监督训练]&#xff1a;PointWise&#xff08;单塔&#xff09;、DSSM&#xff08;双塔&#xff09;、Sentence BERT&#xff08;双塔&#xff09;项目实践 0 背景介绍以及相关概念 本项目对3种常用的文本匹配的方法进行实现&#xff1a;Poin…

【闲侃历史】 唐朝----安史之乱那些事(1)

说到安史之乱&#xff0c;可谓是唐朝最乱的一段时期&#xff0c;据说唐朝当时也就5000多万人&#xff0c;而经历了这一战&#xff0c;人口只剩1000多万人了。著名的杨国忠和杨贵妃也是在这个时候死的。这个系列我们就先来侃侃发起安史之乱的两个人----安禄山和史思明 一. 安禄…

Django的简介安装与配置及两大设计模式

一.Djang的介绍 1.Django是什么 Django 是使用 Python 语言开发的一款免费而且开源的 Web 应用框架。 由于 Python 语言的跨平台性&#xff0c;所以 Django 同样支持 Windows、Linux 和 Mac 系统。 在 Python 语言炽手可热的当下&#xff0c;Django 也迅速的崛起&#xff0c;在…

LeetCode150道面试经典题-- 有效的字母异位词(简单)

1.题目 给定两个字符串 s 和 t &#xff0c;编写一个函数来判断 t 是否是 s 的字母异位词。 注意&#xff1a;若 s 和 t 中每个字符出现的次数都相同&#xff0c;则称 s 和 t 互为字母异位词。 2.示例 s"adasd" t"daads" 返回true s"addad" t &q…