Learn Mongodb 可是工具及基本命令的使用 ③

news2024/11/18 1:36:18

请添加图片描述

@作者 : SYFStrive

 
请添加图片描述

@博客首页 : HomePage

📜: PHP MYSQL

📌:个人社区(欢迎大佬们加入) 👉:社区链接🔗

📌:觉得文章不错可以点点关注 👉:专栏连接🔗


请添加图片描述
相关专栏

👉 VUEJS(🔥)
👉 MYSQL(🔥)
👉 微信小程序(🔥)
👉 MONGODB(🔥)
👉 UNIAPP开发(🔥)

文章目录

  • MongoDB简介
  • MongoDB可视化工具
  • MongoDB命令基本常用
  •   ⭐辅助命令
  •   ⭐数据库操作
  •   ⭐集合


                    ⡖⠒⠒⠒⠤⢄⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸   ⠀⠀⠀⡼⠀⠀⠀⠀ ⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢶⣲⡴⣗⣲⡦⢤⡏⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⠋⠉⠉⠓⠛⠿⢷⣶⣦⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⠇⠀⠀⠀⠀⠀⠀⠘⡇⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡞⠀⠀⠀⠀⠀⠀⠀⢰⠇⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⡴⠊⠉⠳⡄⠀⢀⣀⣀⡀⠀⣸⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⢸⠃⠀⠰⠆⣿⡞⠉⠀⠀⠉⠲⡏⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠈⢧⡀⣀⡴⠛⡇⠀⠈⠃⠀⠀⡗⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣱⠃⡴⠙⠢⠤⣀⠤⡾⠁⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⢀⡇⣇⡼⠁⠀⠀⠀⠀⢰⠃⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⣸⢠⣉⣀⡴⠙⠀⠀⠀⣼⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⡏⠀⠈⠁⠀⠀⠀⠀⢀⡇⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⢸⠃⠀⠀⠀⠀⠀⠀⠀⡼⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⢸⠀⠀⠀⠀⠀⠀⠀⣰⠃⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⣀⠤⠚⣶⡀⢠⠄⡰⠃⣠⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⢀⣠⠔⣋⣷⣠⡞⠀⠉⠙⠛⠋⢩⡀⠈⠳⣄⠀⠀⠀⠀⠀⠀⠀
⠀⡏⢴⠋⠁⠀⣸⠁⠀⠀⠀⠀⠀ ⠀⣹⢦⣶⡛⠳⣄⠀⠀⠀⠀⠀
⠀⠙⣌⠳⣄⠀⡇   不能   ⡏⠀⠀  ⠈⠳⡌⣦⠀⠀⠀⠀
⠀⠀⠈⢳⣈⣻⡇   白嫖 ⢰⣇⣀⡠⠴⢊⡡⠋⠀⠀⠀⠀
⠀⠀⠀⠀⠳⢿⡇⠀⠀⠀⠀⠀⠀⢸⣻⣶⡶⠊⠁⠀⠀
⠀⠀⠀⠀⠀⢠⠟⠙⠓⠒⠒⠒⠒⢾⡛⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⣠⠏⠀⣸⠏⠉⠉⠳⣄⠀⠙⢆⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⡰⠃⠀⡴⠃⠀⠀⠀⠀⠈⢦⡀⠈⠳⡄⠀⠀⠀⠀⠀⠀⠀
⠀⠀⣸⠳⣤⠎⠀⠀⠀⠀⠀⠀⠀⠀⠙⢄⡤⢯⡀⠀⠀⠀⠀⠀⠀
⠀⠐⡇⠸⡅⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠹⡆⢳⠀⠀⠀⠀⠀⠀
⠀⠀⠹⡄⠹⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣇⠸⡆⠀⠀⠀⠀⠀
⠀⠀⠀⠹⡄⢳⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⡀⣧⠀⠀⠀⠀⠀
⠀⠀⠀⠀⢹⡤⠳⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣷⠚⣆⠀⠀⠀⠀
⠀⠀⠀⡠⠊⠉⠉⢹⡀⠀⠀⠀⠀⠀⠀⠀⠀⢸⡎⠉⠀⠙⢦⡀⠀
⠀⠀⠾⠤⠤⠶⠒⠊⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠙⠒⠲⠤⠽   

提示:以下是本篇文章正文内容

MongoDB简介

MongoDB是由C++语言编写的,是一个介于 关系数据库非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。 它支持的 数据结构 非常松散,是类似 json 的 bson 格式,因此可以存储比较复杂的 数据类型 。MongoDB用起来快速上手&集群和安全系列。

MongoDB可视化工具

  • Studio 3T
  1. 链接 : https://robomongo.org/Studio 3T
  2. 功能 : Studio 3T 具有更多更强大的功能并提供企业支持服务,支持副本集、独立主机和分片集群连接,支持导入导出,SQL 查询,语法填充,支持 MongoDB 4.0+ 等等。适用于 Windows,macOS 和 Linux。
  3. 付费:30 天的免费试用期。
  • Robo 3T (Robomong) (推荐)
  1. 链接 : https://robomongo.org/
  2. 功能 : 支持 MongoDB 4.0+,轻量级 GUI,支持语法填充等等。适用于 Windows,macOS 和 Linux 系统。
  3. 免费
  • Navicat for MongoDB
  1. 链接 : https://www.navicat.com.cn/download/navicat-for-mongodb
  2. 功能 : 支持多种数据库的集成,已集成 MongoDB 类型,属于付费型管理工具。好处是用会了一个 DB 版的 Navicat,所有 DB 版都会很顺手,维持一套操作习惯,如果再肌肉记忆一些快捷键,会更加高效。
  3. 付费:付费型管理工具。

MongoDB命令基本常用

#   ⭐权限数据库

⭐admin:从权限的角度来看,这是"root"数据库。要是将一个用户添加到这个数据库,这个用户自动继承所有数据库的权限。一些特定的服务器端命令也只能从这个数据库运行,比如列出所有的数据库或者关闭服务器。
⭐local:这个数据永远不会被复制,可以用来存储限于本地单台服务器的任意集合
⭐config: 当Mongo用于分片设置时,config数据库在内部使用,用于保存分片的相关信息。

  ⭐辅助命令

📕辅助命令基础语法
⭐总的帮助命令 :help
⭐查看数据库帮助命令:db.help()
⭐查看数据库集合帮助命令:db.test.help()
⭐查看数据库集合文档帮助命令:db.test.find().help()
 
📕状态基础语法
⭐显示当前数据库的状态 :db.stats()
⭐查看当前数据库版本 :db.version()
⭐获取当前数据库的链接机地址 :db.getMongo()
⭐获取指定名称的聚集集合 :db.getCollection("name")
⭐获取数据库的所有集合 :db.getCollectionNames()
⭐获取数据库所有聚集的状态 :db.printCollectionStats()

  ⭐数据库操作

📕数据库基础语法
⭐切换或者创建数据库 :use 数据库名(没有就创建)
⭐查看的所有的数据库命令 : show dbs 或 show databases
⭐查看当前正在使用的数据库命令:db 或 db.getName()
⭐数据库的删除:db.dropDatabase() (主要用来删除已经持久化的数据库)
 
📕集合操作基础语法
⭐集合的显式创建:db.createCollection(name(集合的名字))
⭐查看当前库中的文档:show collections 或 show tables
⭐集合的删除:db.collection.drop() 或 db.集合.drop() 返回值:如果成功删除选定集合,则 drop() 方法返回 true,否则返回 false。
⭐文档基本CRUD:文档(document)的数据结构和 JSON 基本一样。 所有存储在集合中的数据都是 BSON 格式。
 
📕文档操作基础语法
⭐文档插入有一条数据:使用db.collection.insert() 或 db.collection.save() 方法向集合中插入文档
⭐文档插入多条数据:使用db.collection.insertMany([{},{}])方法向集合中插入文档
⭐文档的基本查询:db.collection.find() 或 db.collection.find({})
⭐查询去重后的数据 : db.userInfo.distinct("name")
⭐投影查询 : db.collection.find({userid:"1003"},{userid:1,nickname:1})
 
📕文档的更新基础语法
⭐覆盖更新文档 : db.collection.update({条件对象},{修改的对象值})
⭐局部更新文档 : db.comment.update({条件对象},{$set:{修改的对象值}})
⭐批量更新文档 : db.comment.update({条件对象},{$set:{修改的对象值}},{multi:true})
⭐列值增长的修改文档 : db.comment.update({条件对象},{$inc:{修改的对象值(添加)}})
 
📕文档的删除基础语法
⭐删除文档 : db.collection.remove(条件)
⭐将数据全部删除 : db.comment.remove({})
 
📕文档的统计查询基础语法
⭐统计查询 : db.collection.count(query, options)
 
📕文档的排序查询基础语法
⭐排序查询 :db.collection.find().sort({key:1(1为升序 、 -1为降序)})
 
📕文档的更多查询基础语法
⭐正则的复杂条件查询 : db.collection.find({字段 : /正则表达式/}) 正则表达式是Js的语法
⭐包含“x”开头查询 : db.collection.find({content:/x/})
⭐以“x”开头查询 : db.collection.find({content:/^x/})\
 
📕比较查询基础语法
⭐大于条件查询 : db.集合名称.find({ "field": { $gt: value } }) // 大于: field > value
⭐小于条件查询 : db.集合名称.find({ "field": { $lt: value } }) // 小于: field < value
⭐大于等于条件查询 : db.集合名称.find({ "field": { $gte: value } }) // 大于等于: field >= value
⭐小于等于条件查询 : db.集合名称.find({ "field": { $lte: value } }) // 小于等于: field <= value
⭐不等于条件查询:db.集合名称.find({ "field": { $ne: value } }) // 不等于: field != value
 
📕包含查询基础语法
⭐包含查询 : db.collection.find({属性名:{$in:["1003","1004"]}})
⭐不包含查询 : db.comment.find({属性名:{$nin:["1003","1004"]}})
 
📕条件连接查询基础语法
⭐且 查询 : $and:[ { },{ },{ } ]
⭐或 查询 : $or:[ { },{ },{ } ]

  ⭐集合

⭐集合的隐式创建:当向一个集合中插入一个文档的时候,如果集合不存在,则会自动创建集合。
# 总结 ```以上是个人学习Mongodb的相关知识点,一点一滴的记录了下来,有问题请评论区指正,共同进步,这才是我写文章的原因之,如果这篇文章对您有帮助请三连支持一波👍```

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

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

相关文章

Spark 3.4.0新特性--UI支持存储在RocksDB中

背景 对于Spark来说&#xff0c;目前存储所有的事件信息以及UI所需要的信息都是默认存储在内存中&#xff0c;这在CS中&#xff0c;对于以Spark作为 Server的模式下&#xff0c;会导致OOM&#xff0c;也会导致造成之前作者提交PR&#xff1a;Multi sparkSession should share …

Java泛型详解:为什么使用泛型?如何使用泛型?

Java泛型详解&#xff1a;为什么使用泛型&#xff1f;如何使用泛型&#xff1f; &#x1f498;一、为什么使用泛型&#xff1f;&#x1f498;二、如何使用泛型&#xff1f;&#x1f496;1. 泛型类的使用&#xff1a;&#x1f496;2. 泛型方法的使用&#xff1a;&#x1f496;3.…

什么是ABP?

1、ABP背后的思想——DDD&#xff08;领域驱动设计&#xff09; ABP架构&#xff1a; ABP实现了多层架构&#xff08;领域层&#xff0c;应用层&#xff0c;基础设施层和表示层&#xff09;&#xff0c;以及领域驱动设计&#xff08;实体&#xff0c;存储库&#xff0c;领域服…

(R)-tert-Bu4-DOTAGA,817562-90-6,(R)-DOTAGA-四叔丁酯,的反应特点及性质研究

​ 规格单位&#xff1a;g |货期&#xff1a;按​照具体的库存进行提供 | 纯度&#xff1a;95% 试剂描述&#xff1a; (R)-tert-Bu4-DOTAGA大环化合物是一种多齿配体&#xff0c;其配位原子位于环的骨架上&#xff0c;大环的配位原子可以是O、N、S、Se、P、As等。有二维的…

C++primer(第五版)第七章(类)

类的基本思想是数据抽象和封装. 数据抽象是一种依赖于接口和实现的分离的编程技术. 封装实现了类的接口和实现的分离. 7.1定义抽象数据类型 定义一个抽象数据类型使用关键字struct或是clas(差别仅在于默认访问权限修饰符). //这是一个简单的类定义 class Student{ …

C++ 结合 opencv读取图片与视频

C 结合 opencv读取图片与视频 文章目录 C 结合 opencv读取图片与视频一、安装opencv二 、配置文件准备2.1 新建立文件夹2.2 .vscode文件下配置文件&#xff08;1&#xff09;配置tasks.json文件&#xff08;1&#xff09;配置launch.json 三 、src文件下代码编写3.1 图片的读取…

matplotlib设置坐标轴为象限模式

import numpy as np import matplotlib.pyplot as pltx np.linspace(-np.pi, np.pi, 1000) cosy np.cos(x) siny np.sin(x)plt.xlim(min(x), max(x)) plt.ylim(min(cosy), max(cosy)0.5) plt.plot(x, cosy) plt.plot(x, siny) # 设置坐标刻度 plt.xticks([-np.pi, -np.pi/2,…

ubuntu安装python

ubuntu安装python 安装包下载 切换到想要的文件夹&#xff1a;如 cd /usr/local/python3 下载安装包 wget https://www.python.org/ftp/python/3.8.10/Python-3.8.10.tgz 网速慢的话也可以现在本电脑下载tgz文件&#xff0c;然后上传到服务器 第一次上传失败&#xff01; Py…

SFP3012A-ASEMI代理海矽美快恢复二极管SFP3012A

编辑&#xff1a;ll SFP3012A-ASEMI代理海矽美快恢复二极管SFP3012A 型号&#xff1a;SFP3012A 品牌&#xff1a;MHCHXM&#xff08;海矽美&#xff09; 芯片个数&#xff1a;单芯片 封装&#xff1a;TO-247 恢复时间&#xff1a;≤75ns 工作温度&#xff1a;-40C~175C …

JS中的异步与Promise使用

同步与异步 我们知道JS是一个单线程的语言&#xff0c;即在同一时间只能做一件事情。为什么设计为当线程呢。&#xff1f;在早期JS是为了在浏览器中运行&#xff0c;我们可以利用JS来制作一些页面的效果也可以和用户做一些交互。所以设计为单线程也是为了避免复杂度。比如在网…

常见面试题之线程中并发锁(一)

1. 讲一下synchronized关键字的底层原理&#xff1f; 1.1. 基本使用 如下抢票的代码&#xff0c;如果不加锁&#xff0c;就会出现超卖或者一张票卖给多个人 Synchronized【对象锁】采用互斥的方式让同一时刻至多只有一个线程能持有【对象锁】&#xff0c;其它线程再想获取这…

常州工学院计算机组成原理(样卷)

微程序控制器&#xff1a;仿照程序设计的基本方法&#xff0c;将实现指令系统中所有指令所需要的所有控制信号按照一定的规则编码成微指令&#xff0c;若干条实现同一条指令功能的微指令构成一段微程序&#xff0c;将实现所有指令的微程序存放在一个只读存储器ROM中&#xff0c…

一套A股量化系统

shares A 股量化交易系统后台开发语言 Go/Python gmsec算法使用&#xff1a;pytorch全链路量化&#xff0c;行业板块分析&#xff0c;直接贴图。欢迎体验

【计算机视觉】最新综述:南洋理工和上海AI Lab提出基于Transformer的视觉分割综述

文章目录 一、导读二、摘要三、内容解读3.1 研究动机3.2 这篇综述的特色&#xff0c;以及与以往的Transformer综述有什么区别&#xff1f;3.3 Transformer-Based 分割和检测方法总结与对比3.4 相关研究领域的方法总结与对比3.5 不同方法的实验结果对比3.6 未来可以进行的方向 一…

vue三种方式导出报表至excel

1、序言 1.1、源码 源码在下方&#xff0c;复制运行&#xff0c;安装相应的插件即可 1.2、坑 方式一、方式二安装相同插件&#xff1a; npm install xlsx xlsx-style file-saver 导入 xlsx-style 会报如下的错误 解决办法&#xff1a; &#xff08;1&#xff09;去node_modules…

多元回归预测 | Matlab基于灰狼算法(GWO)优化混合核极限学习机HKELM回归预测, GWO-HKELM数据回归预测,多变量输入模型

文章目录 效果一览文章概述部分源码参考资料效果一览 文章概述 多元回归预测 | Matlab基于灰狼算法(GWO)优化混合核极限学习机HKELM回归预测, GWO-HKELM数据回归预测,多变量输入模型 评价指标包括:MAE、RMSE和R2等,代码质量极高,方便学习和替换数据。要求2018版本及以上。 …

基于matlab使用深度学习估计身体姿势(附源码)

一、前言 此示例演示如何使用 OpenPose 算法和预训练网络估计一个或多个人的身体姿势。 身体姿势估计的目标是识别图像中人的位置及其身体部位的方向。当场景中存在多个人时&#xff0c;由于遮挡、身体接触和相似身体部位的接近&#xff0c;姿势估计可能会更加困难。 有两种…

【手撕算法|动态规划系列No.1】leetcode1137. 第 N 个泰波那契数

个人主页&#xff1a;平行线也会相交 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 平行线也会相交 原创 收录于专栏【手撕算法系列专栏】【LeetCode】 &#x1f354;本专栏旨在提高自己算法能力的同时&#xff0c;记录一下自己的学习过程&#xff0c;希望…

【C/C++】数组指针:array 地址 array *parray 两次解引用 **parray 值相同的原因解析

一、提出问题 #include <stdio.h>int main() { char array[16] {A, B}; char (*parray)[16] &array; printf("\n");printf(" array: \t%#lx\n", array); printf("& array: \t%#lx\n", &array); printf("…