首页 > 数据库 >掌握MongoDB,看完这篇文章就够了!!!

掌握MongoDB,看完这篇文章就够了!!!

时间:2024-03-12 20:33:40浏览次数:25  
标签:MongoDB age 数据库 db 就够 find 篇文章 teacher

目录

1. MongoDB简介

2.MongoDB安装

3.MongoDB操作

3.1 数据库相关

3.2 集合相关

3.3数据相关

4.MongoDB查询

5.MongoDB常用技术

6.Python与MongoDB


1. MongoDB简介

MongoDB是一种NoSQL数据库管理系统,采用文档数据库模型,由MongoDB Inc.开发并发布。作为一个面向文档的数据库,MongoDB的数据存储形式类似于JSON对象,适合存储结构化、半结构化和非结构化数据。

以下是MongoDB的一些特点和优势:

  1. 灵活的数据模型: MongoDB使用了类似于JSON格式的文档存储数据,这意味着每个文档可以具有不同的结构,而不像传统的关系型数据库需要遵循固定的表结构。

  2. 高性能: MongoDB具有出色的性能特性,支持快速的查询操作和数据读写。它还提供了内置的分片和复制功能,以实现水平扩展和高可用性。

  3. 强大的查询语言: MongoDB支持丰富的查询表达能力,包括范围查询、正则表达式、聚合操作等,以满足各种数据查询需求。

  4. 自动分片和负载均衡: MongoDB能够自动将数据分布到多个节点中,实现数据的分片存储,并通过负载均衡来提高整体性能和可扩展性。

  5. 容易部署和管理: MongoDB的部署和管理相对简单,具有较低的维护成本。它提供了丰富的工具和文档,帮助用户轻松管理数据库。

  6. 社区支持和生态系统: MongoDB拥有庞大的开发者社区和丰富的生态系统,用户可以获得大量的资源、工具和支持。

  7. 适用于大数据和实时数据处理: MongoDB适用于大规模数据存储和实时数据处理场景,如大型网站、应用程序后端、日志存储等。

尽管MongoDB具有许多优势,但在选择数据库系统时,需要根据具体的项目需求和情况来评估是否适合使用MongoDB。对于某些特定的应用场景,如需要复杂的事务支持或强一致性要求的系统,可能需要考虑传统的关系型数据库系统。

MongoDB级别组织:集合Collection——相当于表;文档——相当于列

2.MongoDB安装

下载MongoDB并安装配置环境变量,同MySQL配置类似,在此不做详述。

配置完成后按住win+r键,输入cmd回车,在弹出的黑窗口输入以下代码,回车输入密码,若显示以下图片极为安装成功。

3.MongoDB操作

3.1 数据库相关

1.显示所有数据库

输入一下代码,回车,如图所示的就是现有的数据库,为系统自带,不可随意修改。

show dbs

2.创建数据库

输入以下代码创建数据库,如果数据库不存在,则创建并使用,数据库存在则切换。

创建完成后重新查看数据库,不会显示,因为此时数据库为空。

use datas

3.删除数据库

先使用上述语句切换到要删除的数据库,然后进行删除操作,注意:mongo数据库区分大小写。

db.dropdataBase()

3.2 集合相关

1.查看所有集合

show collections

2.创建集合

创建一个名为teacher的集合,可以创建也可以不创建,使用到某个集合时会自动创建该集合。

 db.createCollection("teacher")

3.删除集合

# db.集合名.drop()
 
db.teacher.drop()

3.3数据相关

1.插入数据

插入数据时,注意MongoDB是非关系型数据库,可以插入不同的形式。插入时自动创建id。

(1)插入:可以插入一个或多个,注意是“字典”格式

 db.teacher.insert({"name":"t1"})

(2)插入一个

 db.teacher.insertOne({"name":"t2"})

(3)插入多个

可以插入不同结构数据。

db.teacher.insertMany([{"name":"t4","age":25},{"name":"t3"}])

2.查询数据

(1)查询所有

db.teacher.find()

(2)查询一个

 db.teacher.findOne()

3.修改数据

(1)修改:将逗号前面的集合修改为逗号后面的,再次查询可以看出修改成功


db.teacher.update({"name":"t1"},{"age":15})

(2)修改一个

db.teacher.updateOne({"name":"t4"},{$set:{"age":55}})

(3)修改多个:

将“age”为10 的集合的name修改为“abcd”

 db.teacher.updateMany({"age":20},{$set: {"name":"abcd"} })

4.删除数据

(1)删除一个

db.teacher.deleteOne({"age":15})

(2)删除多个:将“age”为20的集合删除

db.teacher.deleteMany({"age":20})

4.MongoDB查询

1.比较运算符

$gt

grate than

>

$gtegrate than equal>=
$ltless than<
$lteless than equal<=
$nenot equal!=

用法:

 db.teacher.find({"age":{$gt:20}})
db.teacher.find({"age":{$gte:20}})

2.逻辑运算符

(1)并且

> db.teacher.find({"age":10,"age":20})

(2)or

 db.teacher.find({$or: [{"age":15},{"age":20}] })

(3)成员in

db.teacher.find({"age":{$in:[15, 20]}})

(4)正则,详见正则使用

# 查找名字中以t开头

db.teacher.find({"name":/^t/})

(5)自定义

# 查找年龄大于18
db.teacher.find({$where:function(){return this.age > 18}})

5.MongoDB常用技术

1.排序

 # 1为正序
db.teacher.find().sort({"age":1})
# -1为逆序
db.teacher.find().sort({"age":-1})

2.分页

(1)显示个数

db.teacher.find().limit(3)

(2)从几开始显示几个

 db.teacher.find().limit(3).skip(2)

3.统计个数

db.teacher.count()

4.投影

db.teacher.find({}, {"name":1})

db.teacher.find({}, {"age":1})

 db.teacher.find({}, {"_id":0})

5.聚合

对数据进行处理,将上一阶处理结果转交给下一阶

db.orders.aggregate([
    {
        $project: {
            total: { $multiply: ["$quantity", "$price"] },
            item: 1
        }
    },
    {
        $group: {
            _id: "$item",
            totalSales: { $sum: "$total" }
        }
    }
])

6.Python与MongoDB

1.使用模块pymongo

终端安装命令:

pip install pymongo

2.使用流程

1.导入模块

2.创建连接

3.找到数据库

4.找到集合

5.增删改查操作

6.关闭连接

# 1.导入模块
import pymongo
# 2.构建连接
client = pymongo.MongoClient()
# 3.找到数据库
db = client.get_database("datas")
# 4.找到集合
collection = db.get_collection("teacher")
# 5.增删改查操作
# 查找
cursor = collection.find()
for data in cursor:
    print(data)
# 6.关闭连接
cursor.close()

标签:MongoDB,age,数据库,db,就够,find,篇文章,teacher
From: https://blog.csdn.net/m0_63865649/article/details/136632344

相关文章

  • Mongodb的CRUD操作
    目录一、插入文档1、插入单个文档2、插入多个文档二、查询文档1、查询某个集合所有文档2、根据条件查询三、更新文档1、更新单个文档2、更新多个文档四、删除文档1、删除所有文档2、删除所有符合条件的文档3、仅删除一个符合条件的文档4、删除集合中某个字段Mon......
  • mongodb
    插入数据result=collection.insert_one(students)result=collection.insert_many([students])查询数据result=collection.find_one({'name':'Mike'})#大于20results=collection.find({'age':{'$gt':20}})#小于20re......
  • Mac安装MongoDB
    本文是简单的安装步骤1.下载[MongoDB]社区版本5(https://www.mongodb.com/zh-cn)2.解压,重命名为mongodb,访达中使用command+shift+G搜索进入/user/local/,文件夹放在这里3.环境变量配置终端运行:open.bash_profile(没有的话在终端上创建touch.bash_profile)打开的文件中:expo......
  • mongodb6.0.13 搭建复制集PSA
    一、材料mongodb:6.0.13mongosh:2.1.5  openssl-1.1.1w系统:redhat4.8二、模式PDA:一个主节点(Primary)、  一个延迟副节点(SEcondary)、一个仲裁节点(arbiter)PDA主节点延迟副节点仲裁节点名称PrimarySecondaryArbiter端口27017......
  • docker安装MongoDB
    需注意,docker版本不能太低,否则执行会报:missingsignaturekey(缺少签名密钥):需要重新安装docker,所以docker最开始最好安装新版本:yuminstalldocker-ce-y参考的链接:https://www.4vsy.com/article/231.html,https://blog.csdn.net/qq_25430563/article/details/127977667doc......
  • MongoDB 7.0集群部署
    环境描述:OS:openEuler22.03LTS-SP3mongoDB:7.0.6mongodb-database-tools:100.9.0mongosh:2.1.5GCC:12.3.1Python:3.9.9Clang:12.0.1服务器规划:主机名IP地址MongosServer组件端口ConfigServer组件端口ShardServer组件端口mongo-01192.168.83.102701727018主节......
  • mongodb备份与恢复
    在MongoDB中,备份可以通过多种方式进行,主要包括使用mongodump命令、文件系统快照或者复制集和分片集群的特性。1.使用mongodump进行备份mongodump是MongoDB自带的备份工具,它可以导出所有数据库的数据到BSON文件中。以下是一个基本的使用示例:mongodump--hostmongodb1.example......
  • kettle MongoDB Output 配置说明
    基本配置ConfigureConnectionTab数据库连接Connectiontimeout:尝试连接数据库所等待的最大时间(毫秒),空为无限,建议5000Sockettimeout:sql在执行成功之前等待读写操作的时间(毫秒),空为无限,建议5000OutputOptionsTab输入表与相关设置Truncateoption:在数据传输前清空表......
  • 【Docker】Docker安装MongoDB最新版并连接使用附加docker常用命令
    【Docker】Docker安装MongoDB最新版并连接使用附加docker常用命令前言确保centos7已经安装docker,没安装docker的可以百度自行安装一、docker安装mongodb步骤1、docker拉取mongo镜像dockerpullmongo:latest2、查看本地镜像命令#查看镜像命令dockerimages#查看正在运......
  • MongoDB Server 用户名和密码登录
    一、前言#默认情况下,MongoDB实例启动运行时是没有启用用户访问权限控制的,也就是说,在实例本机服务器上都可以随意连接到实例进行各种操作,MongoDB不会对连接客户端进行用户验证,这是非常危险的MongoDBServer默认不进行安全认证,即任何MongoDBClient都可以连接并拥有操作权限。在个......