MongoDB数据库基础【完整版】:简介和常用命令、数据库&集合以及文档的增删改查、MongoDB与Python交互(附源代码)2

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介: MongoDB数据库基础【完整版】:简介和常用命令、数据库&集合以及文档的增删改查、MongoDB与Python交互(附源代码)

四、文档操作


  • 先在New_one的数据库下创建一个students的集合

8b1ba95f0d814f928ba9292bd8714cd1.png



1、添加文档:键值对形式


命令:db.集合名.insert(键值对)


  • 如果不指定“_id”参数,MongoDB会为文档分配一个唯一的object对象 ,这个在查看集合内容的时候会体现出

b6aa1970762346789b13c572d81dc677.png



2、添加多条文档


命令:

db.集合名.insert( [

                                       {键值对},

                                       {键值对},

                                        ……,

                                       ] )


c1f285c724b54aed89d216130fb7aaf8-1.png


3、查询文档


  • 查询文档全部内容


命令:db.集合名称.find()


5b92cdab32f147149f5004faa6a1b85a.png


  • 根据某一项数据查询内容

命令:db.集合名.find({键值对})

3a47d9e6a73d43339ea00ae62ac9377e.png




  • 格式化显示

命令:db.集合名.find().pretty()

当数据超过长度时会自动美化

c6df444e6be047738ed4151e5859176a.png


4、噩梦条件查询


  • 操作符


操作符描述$ne不等于$gt大于$lt小于$gte大于等于$lte小于等于


  • 例:查询_id大于2的信息

命令:db.集合名.find( {_id:{$gt:2}} )

233a96b7360c473a819afdbdad53d618.png


  • and条件的使用


  • and:条件都要符合才能查询出来

基本命令:db.集合名.find( { $and:[ {条件1}, {条件2},…… ] } )


ec7991f6707746348976dd7de453739c.png


  • or条件的使用
  • 只要符合条件都查询出来


基本命令:db.集合名.find( { $or:[ {条件1}, {条件2}, ……] } )

b6c222b8fb394cac996654de359fcc8b.png


  •    and、or条件的组合使用

   基本命令:

   db.集合名.find( {$or:[

                             {$and:[ {},{},…… ]},

                              {$or:[ {}, {},…… ]}  

                             ] } )



5、修改文档


  • 修改数据


命令:db.集合名.update( {原数据}, {新数据} )

47eba17e08494af189f9e757770922a4.png

d92d68a584634d9cbaa9bda6457de964.png

  • 指定修改的属性:{$set:{}}

例:db.students.update( {name:'王五'}, {$set:{name:9}} )

$set后面是修改的值

a181a2f44a154735b2d6d76127223ae1.png

  • 添加数据

例:db.students.update({'name':'李四'}, {$set:{age:18,sex:'男'} } )

f11ea442724e4a508f1ad71891306ab5.png


  • 修改所有满足条件的文档:{mulit:ture}

命令:db.集合名.update( {原数据}, {新数据}, {multi:ture} )

  • 先增加一些内容

5f8289e237134210967291e9122f5ea2.png

修改所有age>10的都变为age:40

c6a0131996e34783b0b229ab465f82b7.png



6、删除文档


  • 删除指定条件的文档

命令:db.集合名.remove({键值对})

15c1f5c60dbe49b586b54c517d909f89.png


  • 删除满足条件的第一条文档:{justOne:true}


命令:db.集合名.remove({键值对}, {justOne:true})

2142fb2476ac487f95ec2edebecf77c0.png

  • 删除所有文档

命令:db.集合名.remove({})

ed12f42c7063419591ca8cd337ca45b3.png




五、MongoDB和Python交互


需下载的模块:pip install pymongo


演示如下:

  • 先查看New_one数据库中的students集合是否有数据

6ad7944f7d234e6a806c30dea80af280.png

然后在python编辑器中编写代码,写入文档

7de9471461484d8ba56a10727c13e524.png

在mongodb中查看数据是否被写入

0457c109b9fa4f50af528936e8d6a235.png

附上源码

import pymongo
# 建立连接
client = pymongo.MongoClient()
# 指定数据库
db = client['New_one']
# 指定集合
col = db['students']
# 写入数据
col.insert([{'_id':1,'name':'张三'}, {'_id':2,'name':'李四'}, {'_id':3,'name':'王五'}])
# 查询数据
a = col.find() # find返回的是可迭代对象,需要用for来遍历取值
for i in a:
    print(i)
相关文章
|
2月前
|
NoSQL MongoDB 数据库
数据库数据恢复—MongoDB数据库数据恢复案例
MongoDB数据库数据恢复环境: 一台操作系统为Windows Server的虚拟机上部署MongoDB数据库。 MongoDB数据库故障: 工作人员在MongoDB服务仍然开启的情况下将MongoDB数据库文件拷贝到其他分区,数据复制完成后将MongoDB数据库原先所在的分区进行了格式化操作。 结果发现拷贝过去的数据无法使用。管理员又将数据拷贝回原始分区,MongoDB服务仍然无法使用,报错“Windows无法启动MongoDB服务(位于 本地计算机 上)错误1067:进程意外终止。”
|
2月前
|
缓存 NoSQL Linux
在CentOS 7系统中彻底移除MongoDB数据库的步骤
以上步骤完成后,MongoDB应该会从您的CentOS 7系统中被彻底移除。在执行上述操作前,请确保已经备份好所有重要数据以防丢失。这些步骤操作需要一些基本的Linux系统管理知识,若您对某一步骤不是非常清楚,请先进行必要的学习或咨询专业人士。在执行系统级操作时,推荐在实施前创建系统快照或备份,以便在出现问题时能够恢复到原先的状态。
249 79
|
2月前
|
存储 NoSQL MongoDB
MongoDB数据库详解-针对大型分布式项目采用的原因以及基础原理和发展-卓伊凡|贝贝|莉莉
MongoDB数据库详解-针对大型分布式项目采用的原因以及基础原理和发展-卓伊凡|贝贝|莉莉
142 8
MongoDB数据库详解-针对大型分布式项目采用的原因以及基础原理和发展-卓伊凡|贝贝|莉莉
|
5月前
|
NoSQL MongoDB 数据库
数据库数据恢复——MongoDB数据库服务无法启动的数据恢复案例
MongoDB数据库数据恢复环境: 一台Windows Server操作系统虚拟机上部署MongoDB数据库。 MongoDB数据库故障: 管理员在未关闭MongoDB服务的情况下拷贝数据库文件。将MongoDB数据库文件拷贝到其他分区后,对MongoDB数据库所在原分区进行了格式化操作。格式化完成后将数据库文件拷回原分区,并重新启动MongoDB服务。发现服务无法启动并报错。
|
3月前
|
人工智能 运维 关系型数据库
数据库运维:mysql 数据库迁移方法-mysqldump
本文介绍了MySQL数据库迁移的方法与技巧,重点探讨了数据量大小对迁移方式的影响。对于10GB以下的小型数据库,推荐使用mysqldump进行逻辑导出和source导入;10GB以上可考虑mydumper与myloader工具;100GB以上则建议物理迁移。文中还提供了统计数据库及表空间大小的SQL语句,并讲解了如何使用mysqldump导出存储过程、函数和数据结构。通过结合实际应用场景选择合适的工具与方法,可实现高效的数据迁移。
665 1
|
4月前
|
负载均衡 算法 关系型数据库
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
本文聚焦 MySQL 集群架构中的负载均衡算法,阐述其重要性。详细介绍轮询、加权轮询、最少连接、加权最少连接、随机、源地址哈希等常用算法,分析各自优缺点及适用场景。并提供 Java 语言代码实现示例,助力直观理解。文章结构清晰,语言通俗易懂,对理解和应用负载均衡算法具有实用价值和参考价值。
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
|
3月前
|
SQL 关系型数据库 MySQL
Go语言数据库编程:使用 `database/sql` 与 MySQL/PostgreSQL
Go语言通过`database/sql`标准库提供统一数据库操作接口,支持MySQL、PostgreSQL等多种数据库。本文介绍了驱动安装、连接数据库、基本增删改查操作、预处理语句、事务处理及错误管理等内容,涵盖实际开发中常用的技巧与注意事项,适合快速掌握Go语言数据库编程基础。
256 62
|
6月前
|
关系型数据库 MySQL Java
【YashanDB知识库】原生mysql驱动配置连接崖山数据库
【YashanDB知识库】原生mysql驱动配置连接崖山数据库
【YashanDB知识库】原生mysql驱动配置连接崖山数据库
|
2月前
|
SQL 存储 关系型数据库
MySQL功能模块探秘:数据库世界的奇妙之旅
]带你轻松愉快地探索MySQL 8.4.5的核心功能模块,从SQL引擎到存储引擎,从复制机制到插件系统,让你在欢声笑语中掌握数据库的精髓!
|
2月前
|
SQL Oracle 关系型数据库
比较MySQL和Oracle数据库系统,特别是在进行分页查询的方法上的不同
两者的性能差异将取决于数据量大小、索引优化、查询设计以及具体版本的数据库服务器。考虑硬件资源、数据库设计和具体需求对于实现优化的分页查询至关重要。开发者和数据库管理员需要根据自身使用的具体数据库系统版本和环境,选择最合适的分页机制,并进行必要的性能调优来满足应用需求。
105 11

推荐镜像

更多