当前位置: 首页 > news >正文

MongoDB知识速查

目录

一、MongoDB简介

二、数据库指令

1.展示所有非空数据库

2.显示当前数据库

3.创建数据库

4.删除数据库

三、集合

1.查看所有集合

2.创建集合

3.删除集合

四、CRUD文档操作

1.插入文档

2.查询文档

3.更新文档

4.删除文档

五、进阶查询

1.运算符

1.1.比较运算符

1.2.逻辑运算符

1.3.成员运算符

1.4.范围运算符

2.投影/映射

3.排序

4.分页

六、用户

总结


一、MongoDB简介

概念:一个开源的 NoSQL 文档数据库。

特点:高性能、高可用性、易扩展、灵活的数据模型。

适用场景:大数据、内容管理、移动应用、用户数据管理等。

二、数据库指令

1.展示所有非空数据库

show  dbs

2.显示当前数据库

db

3.创建数据库

use   数据库名

4.删除数据库

db.dropDatabase( )

三、集合

1.查看所有集合

show collections

2.创建集合

db.createCollection("集合名")

3.删除集合

db.集合名.drop()

四、CRUD文档操作

1.插入文档

db.collection.insertOne()
db.collection.insertMany()

2.查询文档

db.collection.find()
db.collection.findOne()
// 条件查询
db.collection.find({age: {$gt: 18}})
// 投影
db.collection.find({}, {name: 1, age: 1})

3.更新文档

db.collection.updateOne()
db.collection.updateMany()
db.collection.replaceOne()
// 使用更新操作符
db.collection.updateOne({_id: 1}, {$set: {status: "active"}})

4.删除文档

db.collection.deleteOne()
db.collection.deleteMany()

五、进阶查询

1.运算符

1.1.比较运算符

大于:collection.find({"age": {"$gt": 26}})

大于等于:collection.find({"age": {"$gte": 26}})

小于:collection.find({"age": {"$lt": 26}})

小于等于:collection.find({"age": {"$lte": 26}})

不等于:collection.find({"age": {"$ne": 26}})

1.2.逻辑运算符

and:隐式

or:collection.find({"$or":[{"age": {"$lte": 26}},{"age":{"gte": 20}}]})

nor:collection.find({
    "$nor": [
        {"age": {"$lt": 20}},
        {"status": "inactive"}
    ]
})  # (不满足所有条件执行)

not:collection.find({"age": {"$not": {"$gt": 25}}})

1.3.成员运算符

in:collection.find({"age": {"$in": [25, 26]}})

nin:collection.find({"age": {"$nin": [25,  26,30]}})

1.4.范围运算符

collection.find({"age": {“$gt”:25, "$lt":35}})

2.投影/映射

它允许你指定查询结果中要包含或排除哪些字段。

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

3.排序

collection.find({}, {"_id": 0}).sort("age", pymongo.DESCENDING)

4.分页

(1)collection.find({ }, {"age": 0}).limit(2) 展示前两项

(2)collection.find({ }, {"age": 0}).skip(2).limit(3)  跳过前2项,继续按顺序展示3项

六、用户

1.创建用户

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

2.连接认证

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

3.参数认证

with pymongo.MongoClient(host='localhost',port=27017,username='prk',password='123456') as client:print(client.list_database_names())

4.命令行认证

mongo -u prk -p  -authenticationDatabase  test

总结

MongoDB是一种流行的NoSQL文档数据库,采用灵活的JSON-like格式存储数据,适合处理非结构化或半结构化数据。数据库指令主要用于管理和操作数据库,如创建、删除、查看数据库等基本操作。集合在MongoDB中相当于关系型数据库中的表,用于存储文档数据,可以动态创建且不需要预定义严格的结构模式。

CRUD文档操作是MongoDB的核心功能,包括创建(Create)、读取(Read)、更新(Update)和删除(Delete)文档。通过insertOne()、insertMany()等方法插入数据,使用find()、findOne()等方法查询数据,通过updateOne()、updateMany()等方法更新文档,以及使用deleteOne()、deleteMany()等方法删除文档。这些操作提供了丰富灵活的选项来管理数据。

进阶查询功能包括条件查询、比较运算符、逻辑运算符、正则表达式匹配等高级查询方式,还支持聚合管道进行复杂的数据处理和转换。用户管理涉及数据库权限控制,可以创建不同权限的用户账号,设置读写权限,保障数据安全性。MongoDB的这套完整体系使其能够适应各种复杂的应用场景,从简单的数据存储到复杂的数据分析都能提供良好的支持。

http://www.dtcms.com/a/338522.html

相关文章:

  • uni-app页面使用u-view组件简化版列表页+详情页实现
  • 【最新版】CRMEB Pro版v3.4系统源码全开源+PC端+uniapp前端+搭建教程
  • Selenium自动化测试入门:cookie处理
  • C语言实战:从零开始编写一个通用配置文件解析器
  • Docker+Nginx+Node.js实战教程:从零搭建高可用的前后端分离项目
  • 阿里云参数配置化
  • Apache Doris 4.0 AI 能力揭秘(一):AI 函数之 LLM 函数介绍
  • Python训练营打卡 DAY 41 简单CNN
  • Apache IoTDB 大版本升级记录(成熟的2.0.2版本)
  • 100202Title和Input组件_编辑器-react-仿低代码平台项目
  • AI 小游戏批量生产工厂(Deepseek深度推理reasoner模型64K tokens)
  • 如何计算 PCM 音频与 YUV/RGB 原始视频文件大小?
  • Apache Doris 在菜鸟的大规模湖仓业务场景落地实践
  • 在相机空间中落地动作:以观察为中心的视觉-语言-行动策略
  • OpenHarmony之打造全场景智联基座的“分布式星链 ”WLAN子系统
  • 如何理解关系型数据库的ACID?
  • 【技术揭秘】AI Agent操作系统架构演进:从单体到分布式智能的跃迁
  • Android 数据可视化开发:从技术选型到性能优化
  • 在 Cursor 、 Vscode 中配置 SFTP 实现安全的手动文件上传
  • 利用解优化问题解欠定方程组
  • Redis缓存加速测试数据交互:从前缀键清理到前沿性能革命
  • OpenCV计算机视觉实战(20)——光流法运动分析
  • 云手机矩阵:重构企业云办公架构的技术路径与实践落地
  • 亚矩阵云手机智能定位:助力Snapchat矩阵账号的本地化内容运营穿透技术
  • MySQL实战45讲 24-25
  • Commons-io
  • Web11-Java Web服务:使用SOAP与RESTful API
  • 网络编程day3
  • Orbbec---setBoolProperty 快捷配置设备行为
  • docker回炉重造