使用python操作MongoDB

安装模块

连接数据库

from pymongo import MongoClient

connect = MongoClient(host="127.0.0.1", port=27017)  # 连接到数据库主机
# 返回一个连接
# MongoClient(host=[‘127.0.0.1:27017‘], document_class=dict, tz_aware=False, connect=True)

db = connect["day120"]  # 获取指定库的连接

查 find

# 查询匹配到的所有数据print(list(db.table01.find()))
# 查询table01这张表的所有数据, 返回的是一个能够迭代的对象(使用迭代器的方法取值)
# 当查询一个不存在或者为空的表时, 返回一个空列表
# 查询匹配到的所有数据
print(db.table01.find_one({"name": "sath"}))
# 查询到: 返回一个字典, 注意字典中有ObjectId对象
# 查询不到返回一个None

增加 insert

# 插入一条数据ret = db.table01.insert_one({"name": "yyy"})
# insert_one: 返回一个插入结果对象(InsertOneResult)
# 使用InsertOneResult.inserted_id能够获取到刚插入的数据的ObjectId类型的对象
print(str(ret.inserted_id), type(ret.inserted_id))
# 5c2987a219b4ead318f8efc3 <class ‘bson.objectid.ObjectId‘>

# 插入多条数据
ret = db.table01.insert_many([{"name": "xxx"}, {"name": "yyy"}])
print(ret, type(ret), dir(ret))
# 插入多条数据, 返回的是InsertManyResult对象
# 使用InsertManyResult.inserted_ids能获取插入的所有数据的ObjectId
print(ret.inserted_ids)
# [ObjectId(‘5c2988e319b4eafb7416e67c‘), #ObjectId(‘5c2988e319b4eafb7416e67d‘)]
# 返回的是一个列表, 里面存放所有的刚插入的数据的ObjectId
ids = list(map(lambda x: str(x), ret.inserted_ids))
print(ids)
# [‘5c2988e319b4eafb7416e67c‘, ‘5c2988e319b4eafb7416e67d‘]

更新 update

db.table01.update({条件}, {修改的值})
# 值相等的不会被更新
# 更新匹配到的第一数据
# ret = db.table01.update({"name": "yyy"}, {"$set": {"age": 68}})
print(ret, type(ret), dir(ret))
# 返回一个字典
# {‘n‘: 1, ‘nModified‘: 1, ‘ok‘: 1.0, ‘updatedExisting‘: True}

# 更新匹配到的第一条数据
ret = db.table01.update_one({"name": "yyy"}, {"$set": {"age": 48}})
print(ret, type(ret), dir(ret))
# 返回一个更新结果对象

# 更新所有匹配到的数据
ret = db.table01.update_many({"name": "yyy"}, {"$set": {"age": 45}})
# 返回一个更新结果对象
# ret.modified_count     更新的条目数     7
# ret.raw_result        更新的结果信息     {‘n‘: 7, ‘nModified‘: 7, ‘ok‘: 1.0, ‘updatedExisting‘: True}
# ret.matched_count     # 匹配到的条目数       7
print(ret, type(ret), dir(ret))

删除 delete, remove

# 删除匹配到第一条数据
db.table01.delete_one({条件})
ret = db.table01.delete_one({"name": "sath"})
print(ret.raw_result, type(ret), dir(ret))
# 返回删除的结果对象
# {‘n‘: 1, ‘ok‘: 1.0}
# 常用方法:
# ‘deleted_count‘,
# ‘raw_result‘

# 删除所有匹配到的数据
ret = db.table01.delete_many({"name":"xxx"})
print(ret.raw_result, type(ret), dir(ret))
# 返回一个删除结果对象
# 常用方法
# ‘deleted_count‘,
# ‘raw_result

# 删除所有的数据
ret = db.table01.remove()
print(ret, type(ret), dir(ret))
# 返回一个字典
# {‘n‘: 17, ‘ok‘: 1.0}

原文地址:https://www.cnblogs.com/594504110python/p/10201733.html

时间: 12-31

使用python操作MongoDB的相关文章

Python操作Mongodb

MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统. 在高负载的情况下,添加更多的节点,可以保证服务器性能. MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案. MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成.MongoDB 文档类似于 JSON 对象.字段值可以包含其他文档,数组及文档数组. 1.创建连接 import pymongo client = pymongo.MongoClient('mongodb:/

Python操作MongoDB(PyMongo模块的使用)

学习笔记,用作数据库查询,原文参考 1 #!/usr/bin/env python 2 #coding:utf-8 3 # Author: --<qingfengkuyu> 4 # Purpose: MongoDB的使用 5 # Created: 2014/4/14 6 #32位的版本最多只能存储2.5GB的数据(NoSQLFan:最大文件尺寸为2G,生产环境推荐64位) 7 8 import pymongo 9 import datetime 10 import random 11 12 #

python 操作MongoDB

安装MongoDB 启动数据库:安装完成指定数据库存放路径 mongod.exe --dbpath c:\data\db进入目录后运行mongo.exe 成功 创建数据库 > use mydb switched to db mydb > db mydb > book = {"title":"from beginner to master", "author":"qiwsir", "lang"

python操作mongodb之二聚合查询

#聚合查询 from pymongo import MongoClient db = MongoClient('mongodb://10.0.0.9:27017/').aggregation_example #准备数据 result = db.things.insert_many([{"x": 1, "tags": ["dog", "cat"]}, {"x": 2, "tags": [&

python操作mongodb之基础操作

#coding:utf-8 __author__ = 'hdfs' import pymongo from pymongo import MongoClient client = MongoClient() client=MongoClient('10.0.0.9',27017) #连接mongodb数据库 client = MongoClient('mongodb://10.0.0.9:27017/') #指定数据库名称 db = client.test_database #获取非系统的集合

[MongoDB]Python 操作 MongoDB

from pymongo import MongoClient mc = MongoClient('localhost',27017) db = mc.users db.users.save({'name':'test'}) set = db.users.find() for s in set: print(s)

python 连 mongodb

这几天在学习Python Web开发,于是做准备做一个博客来练练手,当然,只是练手的,博客界有WordPress这样的好玩意儿,何必还自己造车呢?决定使用Tornado这个框架,然后数据库方面决定顺便熟悉一下MongoDB这样的非关系型数据库.Python让我觉得轻松,再和MongoDB搭配上,那感觉真是好. 下面就谈谈Python操作MongoDB的一些基本用法,先介绍一下MongoDB,这是现在风头正劲的NoSQL数据库,没有关系数据库那种表之类的概念,就像Python中的字典一样,一个键对

python连接mongodb并操作

安装python连接mongodb的库文件pymongo pip install pymongo python连接mongodb程序 import pymongo conn = pymongo.MongoClient("ip",端口) db = conn.admin #连接库 db.authenticate("账号","密码") #用户认证 db=conn.jwh db.test.insert({'id':1,'name':'kaka','sex

使用python操作elasticsearch实现数据插入分析

前言: 例行公事,有些人可能不太了解elasticsearch,下面搜了一段,大家瞅一眼. Elasticsearch是一款分布式搜索引擎,支持在大数据环境中进行实时数据分析.它基于Apache Lucene文本搜索引擎,内部功能通过ReST API暴露给外部.除了通过HTTP直接访问Elasticsearch,还可以通过支持Java.JavaScript.Python及更多语言的客户端库来访问.它也支持集成Apache Hadoop环境.Elasticsearch在有些处理海量数据的公司中已经

Python操作数据库(mysql redis)

一.python操作mysql数据库: 数据库信息:(例如211.149.218.16   szz  123456) 操作mysql用pymysql模块 #操作其他数据库,就安装相应的模块 import  pymysql ip='211.149.218.16' port=3306 passwd='123456' user='root' db='szz' conn=pymysql.connect(host=ip,user=user,port=port,passwd=passwd,db=db,cha