mongoDB基本命令操作

文章目录

  • 1. 安装
    • (1). 启动mongodb
    • (2). 数据库连接
  • 2. 基本命令
    • (1) 数据库操作
    • (2) 集合操作
    • (3) 文档操作
      • 1) 简单查询
      • 2) 条件查询
      • 3) 投影查询
      • 4) 文档更新
      • 5) 列值增长修改
      • 6) 删除文档
      • 7) 分页查询
      • 8) 排序查询
      • 9) 正则查询(模糊查询)
      • 10) 比较查询
      • 11) 包含查询
  • 3. 索引
    • (1) 执行计划

1. 安装

官网:https://www.mongodb.com/try/download/community

(1). 启动mongodb

# 命令行加参数
mongod  --dbpath=..\data\db# 命令行加配置文件,需要先编写配置文件
mongod -f ..\conf\mongod.conf

(2). 数据库连接

# 默认链接本地27017端口
mongo
# 指定连接mongo --host=127.0.0.1 --port=27017

2. 基本命令

(1) 数据库操作

#  查看所有数据库
show dbs  或者 show database# 创建使用数据库,存在使用不存在创建使用
use dbName#  当前数据
db#  删除数据库
db.dropDatabse()

(2) 集合操作

#  集合创建db.createCollection("set1")#  集合查看show collections
#  删除集合
db.集合名称.drop()

(3) 文档操作

#  单文档插入(json格式插入),如果集合不存在会自动创建
db.set1.insert({"id":1,"name":"zhangsan","age":23})
#  多文档插入
db.set1.insertMany([{"id":1,"name":"zhangsan","age":23},{"id":2,"name":"lisi","age":24}])

1) 简单查询

#  查询 
db.集合名称.find()
# 查询一条数据
db.集合名称.findOne()

2) 条件查询

#  根据条件查询(json格式指定条件,如{"id":1})
db.集合名称.find("条件")# 多条件(与或)
db.集合名称.find({$and[{"条件集合"}]})
db.集合名称.find({$or[{"条件集合"}]})

3) 投影查询

投影: 选择列

db.集合名称.find({查询条件},{投影条件})
例如:  db.set1.findOne({},{"name":1})

4) 文档更新

#  全局更新,使用更新内容替换原来的文档(默认为第一个)
db.集合名.update({条件},{更新内容})#  局部更新(只会修改指定字段)
db.集合名称.update({条件},{$set:{更新内容}})
例如:  db.set1.update({"name":"wangwu"},{$set:{"age":18}})# 批量修改(上面语句默认修改一条) 使用updateMany命令
db.set1.updateMany({"name":"wangwu"},{$set:{"age":18}})

5) 列值增长修改

#  使用$inc函数为增加
db.集合名称.update({条件}{$inc:{"增加字段":增加值}})

6) 删除文档

#  会删除条件匹配的所有数据
db.集合名称.remove({条件})
#  删除集合中全部数据
db.集合名称.remove()

7) 分页查询

# 统计,不带条件统计所有
db.集合名称.count({查询条件})#  查询前2条记录
db.集合名称.find().limit(2)
# 跳过前2条数据
db.集合名称.find().limit(2)# 分页查询(配合skip和limit)
db.集合名称.find().limit(2).skip(3)

8) 排序查询

# 1为降序,-1为升序
db.集合名称.find().sort({排序字段:1})

9) 正则查询(模糊查询)

db.集合名称.find({查询条件:/正则/})

10) 比较查询

db.集合名称.find({"字段":{$指令:值}})
/*
指令: >			gt<			lt>= 			gte<=			lte!=			ne
*/

11) 包含查询

db.集合名称.find({"字段":{$in:["匹配集合"]}})

3. 索引

索引: 通过特定数据结构,提高查询效率(B树)

查看索引:

# 查询集合中所有索引
db.集合名称.getIndexs()
/*
[ { "v" : 2, "key" : { "_id" : 1 }, "name" : "_id_" } ]
v :  		索引版本
key: 		索引字段_id:	升序(-1降序)
name: 		索引名称
*/

创建索引:

db.集合名称.createIndex(keys,[options])
例如: db.set1.createIndex({"id":1})
/*
kyes: 为给哪些key创建索引options(常用): unique: 唯一索引name: 	索引名称
*/

删除索引:

db.集合名称.dropIndex({指定名称或者条件})
例如: db.set1.dropIndex({"id":1})# 删除所有索引
db.集合名称.dropIndexes()

(1) 执行计划

相当于mysql的: explain

db.集合名称.find().explain()

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

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

相关文章

Java基础的重点知识-06-String、Arrays、Math、static关键字

文章目录 String类(java.lang)static关键字Arrays类(java.uitl)Math类&#xff08;java.lang&#xff09; String类(java.lang) java.lang.String 类代表字符串。 特征&#xff1a; 字符串不变&#xff1a;字符串的值在创建后不能被更改。因为String对象是不可变的&#xff…

PIL实现图片是否可读

对图像数据进行清洗过程中&#xff0c;为了判断图像文件是否可读&#xff0c;可以调用PIL&#xff08;Pillow&#xff09;包的 Image 类。可以使用 Image 类的 open 方法&#xff0c;该方法会尝试打开图像文件并返回一个 Image 对象。如果文件不可读&#xff0c;该方法将抛出一…

RHEL 8下Oracle Database 23ai 安装与配置

前言 随着AI的加入&#xff0c;Oracle正式将Oracle23c改名为Oracle23ai&#xff0c;并且将次版本数据库作为一个长期支持的版本&#xff0c;也意味着Oracle数据库正式从Cloud进入AI时代&#xff0c;本文主要介绍Oracle Database 23ai Free的安装与配置。 安装方式 Oracle Da…

linux下进行epoll的简单使用

先做一个简单实例&#xff1a; #include <arpa/inet.h> #include <assert.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <sys/epoll.h> #include <sys/socket.h> #include <unistd.h>#includ…

C语言 | Leetcode C语言题解之第187题重复的DNA序列

题目&#xff1a; 题解&#xff1a; #define MAXSIZE 769/* 选取一个质数即可 */ typedef struct Node {char string[101];int index;struct Node *next; //保存链表表头 } List;typedef struct {List *hashHead[MAXSIZE];//定义哈希数组的大小 } MyHashMap;List * …

代码随想录算法训练营day30|跳跃游戏、

55.跳跃游戏 这道题目的重点在于&#xff1a; 1.不管每次能跳多远&#xff0c;只管跳跃范围的覆盖范围&#xff0c;如果最后能覆盖到最后一个元素&#xff0c;则可以到达最后一个下标 2.覆盖的范围是随着i的遍历而不停增加的&#xff0c;相当于“骑驴找马”&#xff0c;每个数…

StackOverFlowError常见原因及解决方法总结

StackOverFlowError常见原因及解决方法总结 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;今天我们来探讨一下 Java 中一个常见的错误&#xff1a;StackOverFl…

使用自定义的shiro密码匹配器CredentialsMatcher完成密码验证

今天突然想研究一下shiro怎么匹配用户的密码。 我们使用shiro的API登录时&#xff0c;会先创建一个令牌对象&#xff0c;而经常用的令牌对象是UsernamePasswordToken&#xff0c;把用户输入的用户名和密码作为参数构建一个UsernamePasswordToken&#xff0c;然后通过Subject.l…

MM-LLM:CogVLM解读

在图文多模态模型中&#xff0c;范式是图像的编码器、文本编码器、模态融合器。也就是不同模态特征抽取加模态对齐。 这部分可以看李沐的精讲 在大模型里的范式在也是如此&#xff0c;目前的工作大部分都专注于怎么拉齐不同模态。 该论文的动机&#xff08;背景&#xff09;&…

nlp基础-文本预处理及循环神经网络

1 认识文本预处理 1 文本预处理及其作用 定义&#xff1a;文本送给模型之前&#xff0c;提前要做的工作 作用&#xff1a;指导模型超参数的选择 、提升模型的评估指标 举个例子&#xff1a; 思路常识&#xff0c;打造成 X Y关于Y&#xff1a;10分类标签是否均衡关于X&#xf…

代码随想录训练营Day44

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、零钱兑换二、完全平方数三、单词拆分 前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; 今天是跟着代码随想录刷题的第44天&#xff…

LeetCode:经典题之1491、896 题解与延伸

系列目录 88.合并两个有序数组 52.螺旋数组 567.字符串的排列 643.子数组最大平均数 150.逆波兰表达式 61.旋转链表 160.相交链表 83.删除排序链表中的重复元素 389.找不同 1491.去掉最低工资和最高工资后的工资平均值 896.单调序列 206.反转链表 92.反转链表II 141.环形链表 …

Oracle自动创建分区

一、需要分区的表 create table PARTITION_TABLE_INFO ( table_name VARCHAR2(500), comments VARCHAR2(500), enable VARCHAR2(500) default Y ) / comment on table PARTITION_TABLE_INFOis 分区维护表 / comment on column PARTITION_TABLE_INFO.table_name is …

Mybatis plus:Wrapper接口

一、介绍 MyBatis-Plus 提供了一套强大的条件构造器&#xff08;Wrapper&#xff09;&#xff0c;用于构建复杂的数据库查询条件。Wrapper 类允许开发者以链式调用的方式构造查询条件&#xff0c;无需编写繁琐的 SQL 语句&#xff0c;从而提高开发效率并减少 SQL 注入的风险。 …

springCloud组件专题(四) --- sentinel

前言 限流&#xff0c;熔断降级概念 限流&#xff1a;顾名思义&#xff0c;就是对一个资源&#xff08;服务或者接口都可以算资源&#xff09;的访问进行限制。简单来说就是限制单位时间内允许资源被访问的次数。常见的算法就是令牌桶算法。 降级&#xff1a;降级其实是一种资源…

IBM IMM1服务器硬件监控指标解读

在复杂多变的IT环境中&#xff0c;服务器的稳定运行对于保障业务的连续性至关重要。IBM IMM1&#xff08;Integrated Management Module 1&#xff09;作为IBM服务器的一个重要组件&#xff0c;提供了强大的远程管理和监控功能。 监控易作为一款专业的IT基础设施监控软件&#…

实际中路由器故障处理方法

1.路由器的部分功能无法实现 &#xff08;1&#xff09;故障现象&#xff1a;路由器配置完全正确&#xff0c;但是有些功能却不能实现。 &#xff08;2&#xff09;故障原因&#xff1a;如果是在确保路由器配置正确的前提下&#xff0c;那么问题应该就在路由器的软件系统上。 &…

【鸿蒙】ERROR_GET_BUNDLE_INSTALLER_FAILED

错误信息 [ERROR_GET_BUNDLE_INSTALLER_FAILED] Troubleshooting guide $ hdc file send D:\Huawei\devEcoProjects\entry\build\default\outputs\default\entry-default-unsigned.hap /sdcard/e8a215ea7be1444197e6a58ebda7721f/entry-default-unsigned.hap Error while Depl…

26.3 Django路由层

1. 路由作用 在Django中, URL配置(通常称为URLconf)是定义网站结构的基础, 它充当着Django所支撑网站的目录. URLconf是一个映射表, 用于将URL模式(patterns)映射到Python的视图函数或类视图上. 这种映射机制是Django处理HTTP请求的基础, 它决定了当客户端发送请求时, Django如…

什么是DND网络?

DND网络通常指的是“无人机网络”&#xff08;Drone Network&#xff09;&#xff0c;它是通过多个无人机&#xff08;Drones&#xff09;之间的相互连接和通信形成的网络系统。无人机网络是一种特殊类型的无线自组织网络&#xff08;Wireless Ad-hoc Network&#xff09;&…