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)
相关文章
|
存储 人工智能 运维
【01】做一个精美的打飞机小游戏,浅尝阿里云通义灵码python小游戏开发AI编程-之飞机大战小游戏上手实践-优雅草央千澈-用ai开发小游戏尝试-分享源代码和游戏包
【01】做一个精美的打飞机小游戏,浅尝阿里云通义灵码python小游戏开发AI编程-之飞机大战小游戏上手实践-优雅草央千澈-用ai开发小游戏尝试-分享源代码和游戏包
689 48
【01】做一个精美的打飞机小游戏,浅尝阿里云通义灵码python小游戏开发AI编程-之飞机大战小游戏上手实践-优雅草央千澈-用ai开发小游戏尝试-分享源代码和游戏包
|
9月前
|
SQL 数据库 开发者
Python中使用Flask-SQLAlchemy对数据库的增删改查简明示例
这样我们就对Flask-SQLAlchemy进行了一次简明扼要的旅程,阐述了如何定义模型,如何创建表,以及如何进行基本的数据库操作。希望你在阅读后能对Flask-SQLAlchemy有更深入的理解,这将为你在Python世界中从事数据库相关工作提供极大的便利。
840 77
|
人工智能 Python
【02】做一个精美的打飞机小游戏,python开发小游戏-鹰击长空—优雅草央千澈-持续更新-分享源代码和游戏包供游玩-记录完整开发过程-用做好的素材来完善鹰击长空1.0.1版本
【02】做一个精美的打飞机小游戏,python开发小游戏-鹰击长空—优雅草央千澈-持续更新-分享源代码和游戏包供游玩-记录完整开发过程-用做好的素材来完善鹰击长空1.0.1版本
606 7
|
7月前
|
人工智能 Python
python基本数据类型简介
本文简要介绍了Python的基本数据类型,包括整型、浮点型、字符串、列表、字典和布尔类型,帮助读者对Python数据类型有初步了解。
223 0
|
9月前
|
XML 数据库 Android开发
Android数据库的使用(增删改查)
本文介绍了一个简单的数据库操作Demo,包含创建数据库、增删改查功能。通过5个按钮分别实现创建数据库、插入数据、删除数据、更新数据和查询数据的操作。代码结构清晰,适合初学者学习Android SQLite数据库基础操作。
279 5
|
9月前
|
数据库 Android开发 开发者
Android常用的room增删改查语句(外部数据库)
本文分享了将一个原生数据库驱动的单词APP重构为使用Room库的过程及遇到的问题,重点解决了Room中增删改查的常用语句实现。文章通过具体示例(以“forget”表为例),详细展示了如何定义实体类、Dao接口、Database类以及Repository和ViewModel的设计与实现。同时,提供了插入、删除、更新和查询数据的代码示例,包括模糊查询、分页加载等功能。此外,针对外部数据库导入问题,作者建议可通过公众号“计蒙不吃鱼”获取更多支持。此内容适合有一定Room基础的开发者深入学习。
296 0
Android常用的room增删改查语句(外部数据库)
|
10月前
|
Java 数据库
jsp CRM客户管理系统(含数据库脚本以及文档)
jsp CRM客户管理系统(含数据库脚本以及文档)
219 10
|
测试技术 Python
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
660 31
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
|
11月前
|
数据采集 运维 Java
课时13:Python简介
今天我们分享的是 Python 的简单介绍,主要分为以下四部分。 1. Python 的百科介绍 2. Python 的发明者 3. Python 的发展历史 4. Python 的用途
269 1
|
12月前
|
SQL 关系型数据库 MySQL
数据库数据恢复——MySQL简介和数据恢复案例
MySQL数据库数据恢复环境&故障: 本地服务器,安装的windows server操作系统。 操作系统上部署MySQL单实例,引擎类型为innodb,表空间类型为独立表空间。该MySQL数据库没有备份,未开启binlog。 人为误操作,在用Delete命令删除数据时未添加where子句进行筛选导致全表数据被删除,删除后未对该表进行任何操作。