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

简介: 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)
相关文章
|
4月前
|
存储 JSON 算法
Python集合:高效处理无序唯一数据的利器
Python集合是一种高效的数据结构,具备自动去重、快速成员检测和无序性等特点,适用于数据去重、集合运算和性能优化等场景。本文通过实例详解其用法与技巧。
170 0
|
5月前
|
存储 索引 Python
python 集合的所有基础知识
python 集合的所有基础知识
517 0
|
3月前
|
存储 Java 索引
(Python基础)新时代语言!一起学习Python吧!(二):字符编码由来;Python字符串、字符串格式化;list集合和tuple元组区别
字符编码 我们要清楚,计算机最开始的表达都是由二进制而来 我们要想通过二进制来表示我们熟知的字符看看以下的变化 例如: 1 的二进制编码为 0000 0001 我们通过A这个字符,让其在计算机内部存储(现如今,A 字符在地址通常表示为65) 现在拿A举例: 在计算机内部 A字符,它本身表示为 65这个数,在计算机底层会转为二进制码 也意味着A字符在底层表示为 1000001 通过这样的字符表示进行转换,逐步发展为拥有127个字符的编码存储到计算机中,这个编码表也被称为ASCII编码。 但随时代变迁,ASCII编码逐渐暴露短板,全球有上百种语言,光是ASCII编码并不能够满足需求
204 4
|
4月前
|
机器学习/深度学习 数据采集 并行计算
多步预测系列 | LSTM、CNN、Transformer、TCN、串行、并行模型集合研究(Python代码实现)
多步预测系列 | LSTM、CNN、Transformer、TCN、串行、并行模型集合研究(Python代码实现)
470 2
|
10月前
|
NoSQL MongoDB 微服务
微服务——MongoDB常用命令——文档的分页查询
本文介绍了文档分页查询的相关内容,包括统计查询、分页列表查询和排序查询。统计查询使用 `count()` 方法获取记录总数或按条件统计;分页查询通过 `limit()` 和 `skip()` 方法实现,控制返回和跳过的数据量;排序查询利用 `sort()` 方法,按指定字段升序(1)或降序(-1)排列。同时提示,`skip()`、`limit()` 和 `sort()` 的执行顺序与编写顺序无关,优先级为 `sort()` > `skip()` > `limit()`。
379 1
|
10月前
|
存储 NoSQL MongoDB
微服务——MongoDB常用命令——MongoDB索引知识概述
本文介绍MongoDB索引相关知识,包括其在查询中的重要作用。索引可避免全集合扫描,显著提升查询效率,尤其在处理海量数据时。通过B树数据结构存储字段值并排序,支持相等匹配、范围查询及排序操作。文中还提供了官方文档链接以供深入学习。
184 0
|
9月前
|
存储 缓存 安全
Python frozenset 集合详解:不可变集合的终极指南
frozenset是Python中一个常被忽视但极具价值的不可变集合类型。本文深入解析其本质、操作方法与应用场景,揭示其通过不可变性带来的安全性与性能优势。从底层实现到实战案例,涵盖字典键使用、缓存优化及类型注解等高级场景。同时对比性能数据,提供最佳实践指南,并展望Python 3.11+中的优化。掌握frozenset,可为代码带来更强健性与效率,适合多种特定需求场景。
380 5
|
10月前
|
存储 NoSQL MongoDB
微服务——MongoDB常用命令——MongoDB索引的类型
本节介绍了MongoDB中索引的几种类型及其特点。包括单字段索引,支持升序/降序排序,索引顺序对操作无影响;复合索引,字段顺序重要,可实现多级排序;地理空间索引,支持平面与球面几何查询;文本索引,用于字符串搜索并存储词根;哈希索引,基于字段值散列,适合等值匹配但不支持范围查询。
260 1
微服务——MongoDB常用命令——MongoDB索引的类型
|
10月前
|
存储 人工智能 索引
Python数据结构:列表、元组、字典、集合
Python 中的列表、元组、字典和集合是常用数据结构。列表(List)是有序可变集合,支持增删改查操作;元组(Tuple)与列表类似但不可变,适合存储固定数据;字典(Dictionary)以键值对形式存储,无序可变,便于快速查找和修改;集合(Set)为无序不重复集合,支持高效集合运算如并集、交集等。根据需求选择合适的数据结构,可提升代码效率与可读性。
|
开发工具 开发者 Python
Python 的交互模式|学习笔记
快速学习 Python 的交互模式
199 0