当前位置: 首页 > 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.lryc.cn/news/626218.html

相关文章:

  • React 静态站点生成
  • 数据结构代码分享-5 链式栈
  • Consul- acl机制!
  • latex|算法algorithm宏包和注意事项
  • 区块链 + 域名Web3时代域名投资的新风口(下)
  • RWA加密金融高峰论坛星链品牌全球发布 —— 稳定币与Web3的香港新篇章
  • CTFshow系列——命令执行web34-37
  • 厂区能源管理智能化改造物联网解决方案
  • 驱动开发系列65 - NVIDIA 开源GPU驱动open-gpu-kernel-modules 目录结构
  • week2-[一维数组]最大元素
  • 数据仓库OLTPOLAP维度讲解
  • 传统防火墙
  • LG P3710 方方方的数据结构 Solution
  • Windows/Centos 7下搭建Apache服务器
  • Android RxJava数据库操作:响应式改造实践
  • 006.Redis 哨兵(Sentinel)架构实战
  • C++入门自学Day14-- deque类型使用和介绍(初识)
  • 【运维进阶】Ansible 角色管理
  • 用poll改写select
  • RabbitMQ:SpringAMQP Direct Exchange(直连型交换机)
  • 在Excel和WPS表格中为多个数字同时加上相同的数值
  • 如何解析PDF中的复杂表格数据
  • UniApp 实现pdf上传和预览
  • Go语言快速入门指南(面向Java工程师)
  • 智慧校园中IPTV融合对讲:构建高效沟通新生态
  • DHCP详解
  • sqlite-gui:一款开源免费、功能强大的SQLite开发工具
  • Netty 集成 protobuf
  • 代码随想录刷题——字符串篇(七)
  • 机械原理的齿轮怎么学?