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
英文地址,請注明出處:http://en.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…