Mongodb操作指南

一、数据库操作

1. 展示所有非空数据库

show dbs

该命令会列出所有包含数据的数据库。

2. 显示当前数据库

db

此命令用于查看当前正在使用的数据库。

3. 切换或创建数据库

use 数据库名

如果指定的数据库不存在,MongoDB 会在首次插入数据时自动创建它。如果已存在,则直接切换到该数据库。

4. 删除数据库

db.dropDatabase()

此命令会删除当前数据库及其所有数据。

二、集合操作

1. 展示所有集合

show collections

该命令会列出当前数据库中的所有集合。

2. 创建集合

db.createCollection(集合名)

通过此命令可以创建一个新的集合。

3. 删除集合

db.集合名.drop()

此命令用于删除指定的集合。

三、文档操作

1. 查询文档

(1)查询所有文档
db.集合名.find({})

此命令会返回集合中的所有文档。

(2)查询单个文档
db.集合名.findOne({})

该命令用于获取集合中的第一个文档。

2. 插入文档

(1)插入单个文档
db.集合名.insertOne({})

此命令用于插入一个文档。

(2)插入多个文档
db.集合名.insertMany([{},{},{}])

该命令可以一次性插入多个文档。

3. 修改文档

(1)修改单个文档
db.集合名.updateOne({}, {$set: {}})

此命令用于修改第一个匹配的文档。

(2)修改多个文档
db.集合名.updateMany({}, {$set: {}})

该命令可以修改所有匹配的文档。

4. 删除文档

(1)删除单个文档
db.集合名.deleteOne({})

此命令用于删除第一个匹配的文档。

(2)删除多个文档
db.集合名.deleteMany({})

该命令可以删除所有匹配的文档。

四、进阶查询

1. 运算符

(1)比较运算符
  • 查询年龄大于 30 的文档:

    find({"age": {"$gt": 30}})
  • 查询年龄大于等于 20 的文档:

    find({"age": {"$gte": 20}})
  • 查询年龄小于 30 的文档:

    find({"age": {"$lt": 30}})
  • 查询年龄小于等于 30 的文档:

    find({"age": {"$lte": 30}})
  • 查询年龄等于 30 的文档:

    find({"age": 30})
  • 查询年龄不等于 30 的文档:

    find({"age": {"$ne": 30}})
(2)逻辑运算符
  • and:查询年龄等于 30 且名字不等于 "t3" 的文档:

    find({"age": 30, "name": {"$ne": "t3"}})

    或者:

    find({"$and": [{"age": {"$gt": 20}}, {"age": {"$lt": 30}}]})
  • or:查询年龄等于 20 或 25 的文档

    find({"$or": [{"age": 20}, {"age": 25}]})
  • not:查询年龄不大于 25 的文档

    find({"age": {"$not": {"$gt": 25}}})
(3)范围运算符
  • 查询年龄在 25 到 35 之间的文档

    find({"age": {"$gt": 25, "$lt": 35}})
(4)成员运算符
  • 查询年龄在 [20, 25] 范围内的文档

    find({"age": {"$in": [20, 25]}})

2. 映射

  • 查询时隐藏 _id 字段

    find({}, {"_id": 0})

3. 排序

  • 按年龄降序排序

    find({}, {"_id": 0}).sort([("age", pymongo.DESCENDING)])
  • 按年龄和名字降序排序

    find({}, {"_id": 0}).sort([("age", pymongo.DESCENDING), ("name", pymongo.DESCENDING)])

4. 分页

  • 查询前 2 条记录

    find({}, {"_id": 0}).limit(2)
  • 跳过前 2 条记录,查询第 3 条记录

    find({}, {"_id": 0}).skip(2).limit(1)

五、用户管理

1. 创建用户

  • 使用客户端创建用户后,需要重启服务。

2. 连接认证

  • 使用连接字符串进行认证

    f"mongodb://{user}:{password}@{host}/database_name?authSource=test"

3. 参数认证

  • 使用参数进行认证

    host="localhost",
    port=27017,
    username='zzy',
    password='123456',
    authSource='test'  # 认证数据库,通常是admin

4. 命令行认证

  • 使用命令行进行认证

    mongo -u zzy -p -authenticationDatabase test

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

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

相关文章

线性回归计算

一、理论:明确线性回归的核心逻辑模型本质:线性回归是通过属性的线性组合实现预测的模型,核心目标是找到最优的直线(单变量)、平面(双变量)或超平面(多变量),…

pnpm : 无法加载文件 C:\Program Files\nodejs\pnpm.ps1,因为在此系统上禁止运行脚本。

解决办法 1、以管理员身份运行window powershell 2、执行Get-ExecutionPolicy,显示Restricted 3、执行set-ExecutionPolicy,会提示输入参数,此时输入RemoteSigned回车 4、执行y回车

[特殊字符] TTS格局重塑!B站推出Index-TTS,速度、音质、情感表达全维度领先

B站维度之言:B 站 2025 新声计划:IndexTTS 全维度拆解 ——从开源血统到中文特调的架构复盘1:打破边界:Index-TTS 的技术动因场景野心:直播实时口播、无障碍字幕、AI 虚拟 UP 主……B 站需要一把“声音瑞士军刀”&…

第5.3节:awk数据类型

1 第5.3节:awk数据类型 awk并没有非常严格的数据类型,但在编写代码的过程中,大致可以分为以下数据类型: 1.1 数字型 #普通表示法 a 123 b 123.333 #科学表示法 c 1.33e13 d 1.05e-5代码示例: $ echo |awk { >…

基于coco和kitti数据集训练YOLOX

原文发表在知乎,辛苦移步~~ 《基于coco和kitti数据集训练YOLOX》 yolox官方的指标数据是在coco数据集上训练出来的,yolox-s模型在11万coco数据集上训练后,mAP(0.5-0.95)40.5。手头有kitti的数据集,所以在…

声网AI语音体验太丝滑,支持随时打断提问

我们教培团队近期测试了一款整合声网语音引擎的对话式 AI 教学工具,体验远超预期。原本以为它仅适用于 1v1 口语练习,没想到已能支持小班课 —— 实测 3 人课堂中,学生轮流发言、提问、插话,AI 都能紧跟节奏,不打断讨论…

【GaussDB】内存资源告急:深度诊断一起“memory temporarily unavailable”故障

一、背景在客户测试环境中(GaussDB 506.0 SPC0100 集中式),一个重度使用存储过程的系统,频繁出现内存临时不可用的问题(ERROR: memory is temporarily unavailable)。令人困惑的是,这个环境配置的内存大小已经数十倍于…

LeeCode 40.组合总和II

给定一个候选人编号的集合 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的每个数字在每个组合中只能使用 一次 。注意:解集不能包含重复的组合。 示例 1:输入: candidates [10,1,2,7,6,1,5], t…

数据结构:队列 二叉树

队列(Queue) 是一种先进先出(First In First Out, FIFO) 的线性数据结构。 队列的基本特性 1. FIFO 原则 • 最先进入的元素最先出去 • 就像现实生活中的排队:先来的人先接受服务 2. 两个主要操作端 • 队尾&#xff…

FTP工作原理及搭建实操

文章目录前言一、FTP概述二、FTP工作原理2.1 FTP的作用与模式2.2 FTP工作流程2.2.1 主动模式(PORT模式)2.2.2 被动模式(PASV模式)2.2.3 对比表格2.2.4 如何选择?2.2.5 补充:现代FTP服务器的常见做法三、FTP…

setup 语法糖核心要点

1. 基本语法<!-- 传统写法 --> <script lang"ts"> export default {setup() {let name 张三function changeName() { name 李四 }return { name, changeName }} } </script><!-- 语法糖写法 --> <script setup lang"ts"> …

C++---多态(一个接口多种实现)

C的多态&#xff08;Polymorphism&#xff09;是面向对象编程&#xff08;OOP&#xff09;的三大核心特性之一&#xff08;另外两个是封装和继承&#xff09;&#xff0c;其核心思想是一个接口&#xff0c;多种实现&#xff0c;即同一操作作用于不同对象时&#xff0c;可产生不…

【机器学习深度学习】vLLM的核心优化技术详解

目录 前言 一、vLLM简介&#xff1a;为什么它如此重要&#xff1f; 二、核心技术一&#xff1a;PagedAttention — 显存管理的革命 2.1 传统注意力缓存的缺陷 2.2 分页式存储管理 三、核心技术二&#xff1a;张量并行 — 多GPU推理的基石 3.1 什么是张量并行&#xff1f…

MySQL 高级主题:索引优化、ORM 与数据库迁移

第五部分&#xff1a;索引优化1. 为什么需要索引&#xff1f;索引是提高数据库查询性能的关键数据结构&#xff0c;它类似于书籍的目录&#xff0c;可以帮助数据库快速定位到所需数据&#xff0c;而不必扫描整个表。2. 索引类型主键索引 (PRIMARY KEY): 唯一且非空&#xff0c;…

Eplan教程:网络与PLC

欢迎大家来到“Eplan带你做项目”第六个过程。在第五个过程中&#xff0c;Eplan基于实际项目的绘制&#xff08;电气设计中的电源回路以及电源分配相关回路&#xff09;重点分享分了“电机的供电和控制图纸的绘制”。本文中&#xff0c;先猜个问题&#xff0c;设计一个PLC系统&…

大模型落地全攻略:从技术实现到场景应用

大语言模型&#xff08;LLM&#xff09;的快速发展正在重塑各行各业的智能化进程&#xff0c;但其落地应用仍面临技术适配、场景融合、成本控制等多重挑战。本文将系统解析大模型落地的四大核心方向 ——微调技术、提示词工程、多模态应用和企业级解决方案&#xff0c;通过代码…

【论文】Zotero文献管理

Zotero文献管理 写论文前查找阅读大量文献&#xff0c;写论文时引用文献&#xff0c;都是一件非常麻烦的事情&#xff0c;一款合适的文献管理工具可以帮助我们更快捷地完成这些任务。zotero作为一款免费开源的工具&#xff0c;可以实现文献阅读、同步管理以及引用管理。 安装…

MsSQL 函数,实现数字转换成人民币大写

MsSQL 函数&#xff0c;实现数字转换成人民币大写-- 如果函数已存在则删除 IF OBJECT_ID(dbo.ConvertToRMBChineseNew, FN) IS NOT NULLDROP FUNCTION dbo.ConvertToRMBChineseNew GOCREATE FUNCTION dbo.ConvertToRMBChineseNew (NumberInput SQL_VARIANT -- 使用 SQL_VARIANT…

OpenHarmony深度定制:从系统到模块的全景剖析与自定义模块实战

摘要:OpenHarmony 作为面向万物互联时代的开源操作系统,其“系统-子系统-部件-模块”的四层架构设计,为开发者提供了高度可裁剪、可扩展的能力。本文将系统梳理这四层结构的职责边界与协作关系,并手把手演示如何向 OpenHarmony 新增一个可交付的自定义模块(Module),帮助…

数字社会学是干什么的?数字社会学理论与数字社会学家唐兴通讲数字社会学书籍有哪些?AI社会学人工智能社会学理论框架

在当今社会&#xff0c;传统物理空间和人际关系网络成为了许多年轻人寻找合适伴侣的重大障碍。以深圳为例&#xff0c;这座移民城市的大部分居民都来自外地&#xff0c;年轻人的人脉关系、尤其是亲戚关系大多仍在家乡。这使得深圳的单身男女在交友和婚恋方面的选择面变得狭窄&a…