【MongoDB详细使用教程】一、Mac安装MongoDB

【MongoDB详细使用教程】二、MongoDB基本操作

【MongoDB详细使用教程】三、高级查询

【MongoDB详细使用教程】四、python操作MongoDB

【MongoDB详细使用教程】五、MongoDB的数据库管理

使用第三方库pymongo来实现python对MongoDB的操作

pymongo官方文档:https://api.mongodb.com/python/current/tutorial.html

1、安装pymongo

pip install 安装pymongo

2、连接数据库

import pymongo

client = pymongo.MongoClient('localhost', 27017)    # 连接服务器,需要先开启服务
db = client['mymongo'] # 选择数据库
data = db.students.find() # 查询数据,返回一个游标,通过对游标进行遍历来获取每条数据
print(db)
print(data) # 对查询到的数据进行遍历,每一项为一个dict
for i in data:
print(i, type(i))

返回结果:

MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True)
Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'mymongo')
<pymongo.cursor.Cursor object at 0x1058e57f0>
{'_id': ObjectId('5db642b30f98841018f76965'), 'name': 'chen', 'age': 18.0, 'grade': '一年级'} <class 'dict'>
{'_id': ObjectId('5db642bc0f98841018f76966'), 'name': 'wang', 'age': 19.0, 'grade': '二年级'} <class 'dict'>
{'_id': ObjectId('5db653920f98841018f7696b'), 'name': 'xu', 'age': 20.0, 'grade': '三年级', 'text': ['女', '研究员']} <class 'dict'>
{'_id': ObjectId('5db654660f98841018f7696c'), 'name': 'ma', 'age': 20.0, 'grade': '二年级', 'text': ['女', '副教授', '副处长']} <class 'dict'>
{'_id': ObjectId('5db68d190f98841018f76970'), 'name': 'cheng', 'age': 21.0, 'grade': '四年级'} <class 'dict'>
{'_id': ObjectId('5db68f6c0f98841018f76971'), 'name': 'cheng', 'age': 22.0, 'grade': '五年级'} <class 'dict'>

3、操作数据库

python操作mysql和oracle都是通过直接执行sql来完成,

而对MongoDB的操作是通过pymongo提供的方法来完成的。

本节不再把语法单独提出,所有"students"字样均为集合名。

3.1、查

data_all = db.students.find()   # 查询全部
data_lim = db.students.find().limit(1) # 返回第一条
data_the = db.students.find({"name": "xu"}) # 条件查询(结果只有1条匹配)
data_one = db.students.find_one() # 查询一条 print(data_all, type(data_all))
print(data_lim, type(data_lim))
print(data_the, type(data_the))
print(data_one, type(data_one))

虽然后3个方法得到的数据都是1条,但只有使用.find_one()时会返回dict,其余返回的都是Cursor(游标),需要遍历才可以得到具体数据。

<pymongo.cursor.Cursor object at 0x105a04780> <class 'pymongo.cursor.Cursor'>
<pymongo.cursor.Cursor object at 0x105a047f0> <class 'pymongo.cursor.Cursor'>
<pymongo.cursor.Cursor object at 0x105a04860> <class 'pymongo.cursor.Cursor'>
{'_id': ObjectId('5db642b30f98841018f76965'), 'name': 'chen', 'age': 18.0, 'grade': '一年级'} <class 'dict'>

3.2、增

# 插入单条
db.students.insert_one({"name": "zuo", "age": 40, "grate": "九年级"}) # 插入多条
many_data = [{"name": "ding", "age": 40, "grate": "九年级"},
{"name": "liao", "age": 42, "grate": "十年级"},
{"name": "zhao", "age": 35, "grate": "九年级"}]
db.students.insert_many(many_data)

3.3、改

# 修改单条
db.students.update_one(filter={"name": "zuo"}, update={"$set": {"grate": "十年级"}}) # 修改全部匹配项
db.students.update_many(filter={"name": "zuo"}, update={"$set": {"grate": "十年级"}}) # filter后为条件,update后为修改后值,其中$set为固定语法。

3.4、删

# 删除单条
db.students.delete_one({}) # 删除全部数据的第一条
db.students.delete_one({"name": "zuo"}) # 删除匹配项的第一条 # 删除多条
db.students.delete_many({"name":"zuo"}) # 删除集合中的全部数据
db.students.delete_many({"name":"zuo"}) # 删除全部匹配项

【MongoDB详细使用教程】四、python操作MongoDB的更多相关文章

  1. 【MongoDB详细使用教程】二、MongoDB基本操作

    目录 数据类型 数据库操作 集合操作 数据操作 增 查 改 修改整行 修改指定字段的值 删 数据类型 MongoDB常见类型 说明 Object ID 文档ID String 字符串,最常用,必须是有 ...

  2. 【MongoDB详细使用教程】五、MongoDB的数据库管理

    目录 1.数据库安全 1.1.创建管理员账号和密码 1.2.设置服务状态为需要验证用户 1.3.创建用户账户和密码 1.4.忘记密码/修改密码 2.主从服务器 2.1.创建服务器目录,用于分别存放主从 ...

  3. 【MongoDB详细使用教程】三、高级查询

    目录 1.使用比较运算符查询 2.使用关键字查询 2.1.in/not in 关键字 2.2.size 关键字 2.3.exists 关键字 2.4.or 关键字 3.模糊查询 4.查询结果排序 5. ...

  4. python操作mongodb

    # python操作mongodb # 首先,引入第三方模块pymongo,该模块是python用来操作mongodb的 import pymongo # 第二步,设置ip地址,以及表格名称,表格名字 ...

  5. 【转】Python操作MongoDB

    Python 操作 MongoDB   请给作者点赞--> 原文链接 这篇文章主要介绍了使用Python脚本操作MongoDB的教程,MongoDB作为非关系型数据库得到了很大的宣传力度,而市面 ...

  6. Python 操作 mongodb 数据库

    原文地址:https://serholiu.com/python-mongodb 这几天在学习Python Web开发,于 是做准备做一个博客来练练手,当然,只是练手的,博客界有WordPress这样 ...

  7. 使用Python操作MongoDB

    MongoDB简介(摘自:http://www.runoob.com/mongodb/mongodb-intro.html) MongoDB 由C++语言编写,是一个基于分布式文件存储的开源数据库系统 ...

  8. python操作三大主流数据库(10)python操作mongodb数据库④mongodb新闻项目实战

    python操作mongodb数据库④mongodb新闻项目实战 参考文档:http://flask-mongoengine.readthedocs.io/en/latest/ 目录: [root@n ...

  9. python操作三大主流数据库(9)python操作mongodb数据库③mongodb odm模型mongoengine的使用

    python操作mongodb数据库③mongodb odm模型mongoengine的使用 文档:http://mongoengine-odm.readthedocs.io/guide/ 安装pip ...

随机推荐

  1. C++基础之迭代器

    迭代器的分类 插入迭代器(insert iterator):绑定一个容器上后可以向容器中插入元素: 流迭代器(stream iterator):绑定在输入输出流中,可以遍历关联的流: 反向迭代器(re ...

  2. Maven 创建项目之简单示例

    maven 是一个项目管理工具.可以用来管理jar包依赖,构建项目等. 那么接下来,就在eclipse中使用maven创建一个简单的项目. 1,依次点击File-> New -> Othe ...

  3. 公开的免费WebService接口分享,用于做接口练习

    本文转载于 https://cloud.tencent.com/developer/article/1349603 天气预报Web服务,数据来源于中国气象局 Endpoint http://www.w ...

  4. 抓住那只牛!Catch That Cow POJ-3278 BFS

    题目链接:Catch That Cow 题目大意 FJ丢了一头牛,FJ在数轴上位置为n的点,牛在数轴上位置为k的点.FJ一分钟能进行以下三种操作:前进一个单位,后退一个单位,或者传送到坐标为当前位置两 ...

  5. Centos 6下使用cmake编译安装MariaDB

    写在前面 最近在学习Maria DB,为了方便查阅,又为了将所学的知识重新的梳理,特作此随笔一篇,希望过后阅读时能有所感,也希望对大家能够有所帮助. 安装前的准备 大家都知道,在Linux上安装软件一 ...

  6. Merge into 语句实例

    /*Merge into 详细介绍MERGE语句是Oracle9i新增的语法,用来合并UPDATE和INSERT语句.通过MERGE语句,根据一张表或子查询的连接条件对另外一张表进行查询,连接条件匹配 ...

  7. .Net Core 商城微服务项目系列(十一):MQ消费端独立为Window服务+消息处理服务

    之前使用MQ的时候是通过封装成dll发布Nuget包来使用,消息的发布和消费都耦合在使用的站点和服务里,这样会造成两个问题: 1.增加服务和站点的压力,因为每次消息的消费就意味着接口的调用,这部分的压 ...

  8. MongoDB 学习笔记之 TTL索引,部分索引和文本索引

    TTL索引: TTL集合支持mongodb对存储的数据进行失效时间设置,经过指定的时间段后.或在指定的时间点过期,集合自动被mongod清除.这一特性有利于对一些只需要保存一定时间的数据信息进行存储, ...

  9. web前端之面试:自我介绍

    面试官您好, 首先很感谢贵公司的面试邀请, 让我有这个幸运机会能来到这里和您交流 : 接下来我做一个简单的自我介绍: 我的姓名是 XX, 祖籍是XX, 年龄是24, 学校是 XXX, 专业是XXX: ...

  10. Spring系列(六):Spring事务源码解析

    一.事务概述 1.1 什么是事务 事务是一组原子性的SQL查询,或者说是一个独立的工作单元.要么全部执行,要么全部不执行. 1.2 事务的特性(ACID) ①原子性(atomicity) 一个事务必须 ...