MongoDB(二)基础操作 创建、删除,查询等

news2024/11/25 10:00:37

mongodb有一个特点,如果某个库,库下面没数据(mongodb成集合),该库等于不存在的
mongodb只要创建一个库,在库下写入数据,该库才会生成

mongoshe [-h=host -p=xxx]
在这里插入图片描述

创建数据库

use 数据库名 # 如果数据库名已经存在,则表示切换到这个数据库,如果没有,则创建,但不是持久化到磁盘,
查看有权限查看的所有数据库
show dbs 或 show databases
在Mongodb中,集合只有在内容插入后才会创建。

删除数据库

use 数据库
db.dropDatabase() #db 就代表当前的数据库对象,主要用来删除已经持久化的数据库

自动的数据库 admin 、 local 、config

在这里插入图片描述

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

显示创建集合

use 数据库
db.createCollection(‘集合名称’)
查看集合
show collections
删除集合
db.集合名称.drop()
在这里插入图片描述

隐藏创建集合

插入文档时,同时创建结合
db.集合名.insert({})
在这里插入图片描述

文档的插入

单个文档插入

db.集合名.insert({})
在这里插入图片描述
在这里插入图片描述

批量文档插入

db.集合名.insertmany([{},{}])

在这里插入图片描述
捕获异常

try {
db.集合.insertMany([{},{}])
}catch(e){
print(e)
}

文档的查询

查询集合所有的信息
db.集合名.find()
查询集合指定的信息
db,集合名.find({})
在这里插入图片描述
查询集合中符合条件的一个记录
do.集合名.findOne() 或 db.集合.findOne({“xxx”::“vvvv”})
在这里插入图片描述

投影查询

db.集合.find({“key”:”val“},{”col1“:1})
第一个{},是查询的条件,跟sql中 where 作用一样
第二个{},是查询要显示的字段,1表示显示,0表示不显示
在这里插入图片描述

正则表达查询

db.集合.find({field:/正则/})
在这里插入图片描述

文档更新

在这里插入图片描述
覆盖修改

db.document.update({“key”:“vvv”},{“col1”:“vvv”});
在这里插入图片描述
实现对某列值在原有值的基础上进行增加或减少,可以使用$inc运算符来实现。

在这里插入图片描述
批量修改

如不加第三个参数,可以只更新符合条件的第一条记录。
db.documnet.update({“key”,“vvv”},{$set:{“key”:“vvv”}},{multi:true})
在这里插入图片描述

删除文档

db.document.remove(条件)

删除全部数据

db.document.remove({})

按条件删除

db.document.remove({“key”:“xxx”})

统计查询

db.document.count(条件)

统计文档(表)一共多行记录

db.document.count()

统计指定条件,一共多行记录

db.document.count({“key”:“xxx”});
在这里插入图片描述

分页查询

db.document.find().limit(mun).skip(num)

limit 取几条记录

skip 跳过几条记录

#取前面5条记录
db.document.find().limit(5);
#从第六条开始取所有数据
db.document.find().skip(5); 前面N不要获取

在这里插入图片描述

排序查询

$gt >
$lt <
$gte >=
$lte <=
KaTeX parse error: Expected '}', got 'EOF' at end of input: …t.find({"key":{gt:value}});
在这里插入图片描述
等于
db.document.find({“key”:“vvv”})

排序查询

key:1 asc, key:-1 desc
db.document.find().sort({key:1})
在这里插入图片描述

包含查询

KaTeX parse error: Expected '}', got 'EOF' at end of input: …t.find({"key":{in:[‘v’,‘v2’]}})
KaTeX parse error: Expected '}', got 'EOF' at end of input: …t.find({"key":{nin:[‘v’,‘vv’]}})
在这里插入图片描述

条件查询 and or

db.document.find( { KaTeX parse error: Expected 'EOF', got '}' at position 21: …[ { } , { } ] }̲ ) db.info1.fi…and:[{age:{KaTeX parse error: Expected 'EOF', got '}' at position 6: gt:30}̲},{age:{lt:40}}]})
在这里插入图片描述

在这里插入图片描述
db.document.find( {$or:[ { } , { } ] } )

总结

在这里插入图片描述

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

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

相关文章

阿里巴巴OceanBase介绍

前言 官网地址&#xff1a;https://www.oceanbase.com/ OceanBase是由蚂蚁集团完全自主研发的国产原生分布式数据库&#xff0c;始创于2010年。是全球唯一在 TPC-C 和 TPC-H 测试上都刷新了世界纪录的国产原生分布式数据库。 2010年&#xff0c;创始人阳振坤加入阿里巴巴&…

华为云云耀云服务器L实例评测|华为云云耀云服务器L实例CentOS的存储和备份策略

1 华为云云耀云服务器L实例介绍 华为云云耀云服务器L实例是华为云计算服务中的一种虚拟云服务器&#xff0c;它提供了强大的计算资源&#xff0c;可以在云端运行各种应用程序和服务。 华为云服务器提供了多种实例类型&#xff0c;包括通用型、计算优化型、内存优化型等&#…

数据中心不能“偏科”,AIGC时代算力、存力需协调发展

黄金比例是数学上一种堪称“完美”的比例关系&#xff0c;最早由欧几里得在《几何原本》中进行了系统论述。之后&#xff0c;黄金比例的理念被广泛应用到数学、物理、建筑、农业等多个领域&#xff0c;代表着最合理、最协调的一种情况或者状态。 在数据中心领域&#xff0c;相…

模板的注意事项

目录 swap函数&#xff1a; 模板不支持分离编译 声明和定义分离的好处 swap函数&#xff1a; #include<iostream> using namespace std; template <class T> void swap(T&left, T&right) {T temp right;right left;left temp; } int main() {int a …

Vue比较两个数字大小

实现一个比较两个数字大小的页面&#xff0c;练习Vue实例的创建、数据绑定和事件监听方法&#xff1b; <div id"aa"> <ul> <li> <span>第一个数&#xff1a;</span><input v-model.number"first"/> </li> <…

详解Java执行groovy脚本的两种方式

详解Java执行groovy脚本的两种方式 文章目录 详解Java执行groovy脚本的两种方式介绍记录Java执行groovy脚本的两种invokeFunction:invokeMethod:以下为案例&#xff1a;引入依赖定义脚本内容并执行运行结果&#xff1a;例如把脚本内容定义为这样&#xff1a;执行结果就是这样了…

微盟十年:踩准节奏,持续增长

今年以来&#xff0c;中国SaaS行业经历了资本由炽热到寒冬&#xff0c;行业融资笔数和金额均呈现断崖式下跌&#xff0c;截至7月共发生投融资50笔&#xff0c;与去年相比直接腰斩&#xff1b;投融资金额43.52亿元&#xff0c;与2021年同期的258.2亿元、2022年同期的142.37亿元形…

适合在家做的副业 整理5个,有电脑就行

今天&#xff0c;我们不说别的&#xff0c;整理5个适合个人在家单干的副业。需要电脑&#xff0c;如果你没电脑就不用看了&#xff0c;最后两个&#xff0c;我们也在做&#xff0c;你可以看到最后了解。这些副业&#xff0c;大家多去实践操作&#xff0c;前期&#xff0c;每月三…

单层和多层中的应力和分层控制

引言 类金刚石碳(DLC)膜具有诸如高硬度和低摩擦系数的优异特性&#xff0c;并且在切削工具、金属模具和机器部件中具有应用。不幸的是&#xff0c;它们通常表现出低粘合强度由于高的内部压缩应力&#xff0c;导致从衬底上剥离。英思特已经尝试了各种方法来降低内应力&#xff…

OJ练习第181题——寻找两个正序数组的中位数

寻找两个正序数组的中位数 力扣链接&#xff1a;4. 寻找两个正序数组的中位数 题目描述 给定两个大小分别为 m 和 n 的正序&#xff08;从小到大&#xff09;数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。 算法的时间复杂度应该为 O(log (mn)) 。 示例…

V4L2 Camera 开发

一、什么是V4L2 vl42是video for Linux 2的缩写&#xff0c;是一套Linux内核视频设备的驱动框架&#xff0c;该驱动框架为应用层提供一套统一的操作接口(一系列的ioctl) 假如要进行视频数据采集&#xff0c;大体的步骤如图左侧所示&#xff1a; 打开设备文件/dev/videoX&…

从零学算法(LCR 178)

教学过程中&#xff0c;教练示范一次&#xff0c;学员跟做三次。该过程被混乱剪辑后&#xff0c;记录于数组 actions&#xff0c;其中 actions[i] 表示做出该动作的人员编号。请返回教练的编号。 示例 1&#xff1a; 输入&#xff1a;actions [5, 7, 5, 5] 输出&#xff1a;7 …

java中使用redis2个库并支持Redis哈希表

一个redis实例&#xff0c;默认包含16个库&#xff0c;序号从0到15。在redis命令行中&#xff0c;可以用select 序号来切换。我最近在做的一个项目中&#xff0c;需要使用redis的2个库。一个是由其他子系统写入&#xff0c;web后端&#xff08;java&#xff09;只读取&#xff…

瑞芯微RK3568|SDK开发之Kernel编译

1. Kernel手动编译 1.1 kernel查询帮助 使用./build.sh -h kernel查看kernel的详细编译命令如下所示。 图1.1编译内核 上图表示&#xff0c;单独编译kernel固件分为三步&#xff0c;进入kernel目录&#xff0c;选择默认配置文件&#xff0c;编译镜像。 1.2 kernel…

多家快递公司物流信息批量查询方法及操作说明

在网购时代&#xff0c;快递单号的查询和管理成了一个重要的问题。尤其是对于需要处理大量快递单号的人来说&#xff0c;一个高效、便捷的查询工具至关重要。本文将介绍如何使用“固乔快递查询助手”软件&#xff0c;快速、准确地查询多家不同快递公司的快递单号&#xff0c;并…

最新白皮书:软件定义的硬件打开通往高性能数据加速的大门

在众多行业的数字化转型过程中&#xff0c;基于硬件的数据处理加速是构建高性能、高效率智能系统的关键之处&#xff0c;因而市场上出现了诸如FPGA、GPU和xPU等许多通用或者面向特定应用&#xff08;如NPU&#xff09;的硬件加速器。尽管它们的性能和效率都高于通用处理器&…

基于R的linkET包qcorrplot可视化Mantel test相关性网络热图分析correlation heatmap

写在前面 需求是对瘤胃宏基因组结果鉴定到的差异菌株与表观指标、瘤胃代谢组、血清代谢组、牛奶代谢组中有差异的部分进行关联分析&#xff0c;效果图如下&#xff1a; 数据准备 逗号分隔的csv格式文件&#xff0c;两个表格&#xff0c;一个是每个样本对应的表观指标数据&…

工业交换机常见的故障有哪些?

通常情况下&#xff0c;工业交换机出现故障可以分为两类&#xff1a;软件性能故障和硬件物理故障。软性能故障通常指工业交换机在研发设计阶段出现的问题。 物理层故障主要指交换机本身的硬件故障以及连接交换机的物理线路故障。安防专用工业交换机的交换是根据通信双方传输信…

构建智能客服知识库,优化客户体验不是难题!

在当今快节奏的商业环境中&#xff0c;客户都希望得到及时个性化的支持&#xff0c;拥有一个智能客服知识库对于现代企业至关重要。智能客服知识库是一个集中存储、组织和访问与客户服务互动相关的信息的综合性知识库。它为企业提供了全面的知识来源&#xff0c;使他们能够为客…

PHP循环获取Excel表头字母A-Z,当超过时输出AA,AB,AC,AD······

PHP循环获取Excel表头字母A-Z&#xff0c;当超过时输出AA,AB,AC,AD PHP循环生成Excel的列字母表 $count_num 26 * 27; $letter A; $arr []; while($count_num--){$arr[] $letter;$letter; }结果如下&#xff1a; 转为JSON更为直观&#xff1a; ["A","B&…