python 包之 mongodb 数据库操作教程

网友投稿 709 2022-05-29

一、安装

pip install pymongo

二、连接数据库

import pymongo # 方式一 client = pymongo.MongoClient('MongoDB://localhost:27017') # 方式二 client = pymongo.MongoClient('localhost',27017) # 方式三,有密码认证 client = pymongo.MongoClient('localhost', 27017, username='xxx', password='xxx')

三、创建数据库

python 包之 mongodb 数据库操作教程

import pymongo # 连接 client = pymongo.MongoClient('mongodb://localhost:27017') # 创建test数据库 db = client.test # 或者 db = client['test'] print(db)

四、所有数据库

import pymongo client = pymongo.MongoClient('mongodb://localhost:27017') dbs = client.list_database_names()

五、创建集合

也就是数据库中的表

import pymongo client = pymongo.MongoClient('mongodb://localhost:27017') # 创建test数据库 db = client.test # 创建表 collections = db.user # 或者 collections = db['user'] # 删除表 collections.drop()

六、插入数据

insert_one:插入一条数据

insert_many:插入多条数据

import pymongo client = pymongo.MongoClient('mongodb://localhost:27017') # 创建test数据库 db = client.test # 创建表 collections = db.user # 创建文档数据 user1 = { 'name': 'autofelix', 'age': '25', 'height': '172', 'weight': '60' } user2 = { 'name': '飞兔小哥', 'age': '28', 'height': '182', 'weight': '70' } # 插入一条文档集合 result = collections.insert_one(user1) print(result) print(result.inserted_id) # 插入多条文档集合 result = collections.insert_many([user1, user2]) print(result) print(result.inserted_ids)

七、查询数据

find:查询多条数据

find_one:查询一条数据

import pymongo client = pymongo.MongoClient('mongodb://localhost:27017') # 创建test数据库 db = client.test # 创建表 collections = db.user # 查询所有 collections.find() # 查询最近一条 collections.find_one() # 根据条件查询 collections.find_one({'age':25})

八、高级查询

import pymongo client = pymongo.MongoClient('mongodb://localhost:27017') # 创建test数据库 db = client.test # 创建表 collections = db.user # 跳过第一条查到的数据 collections.find({'age':{'$gt':10}},['height','age']).skip(1) # limit限制查询条数 collections.find({'age':{'$gt':10}},['height','age']).limit(1) # 多条件查询 collections.find_one({'height':{'$gt':150},'age':{'$lt':26,'$gt':10}}) # in查询,查询年龄在25,26,32的数据 collections.find({'age':{'$in':[25, 26, 32]}}) # or查询,查询年龄小于等于23或者大于等于29的数据 collections.find({'$or':[{'age':{'$lte':23}}, {'age':{'$gte':29}}]}) # exists查询 collections.find({'age':{'$exists':True}}) # 正则查询 collections.find({'name':{'$regex':r'.*auto.*'}})

九、count统计

import pymongo client = pymongo.MongoClient('mongodb://localhost:27017') # 创建test数据库 db = client.test # 创建表 collections = db.user # 统计集合中总共有多少条数据 collections.find().count() # 统计集合中年龄大于10岁的共有多少条数据 collections.find({'age':{'$gt':10}}).count()

十、修改数据

update_one:修改一条数据

update_many:修改多条数据

import pymongo client = pymongo.MongoClient('mongodb://localhost:27017') # 创建test数据库 db = client.test # 创建表 collections = db.user # 修改一条数据 collections.update_one({'name': 'autofelix'}, {'$set': {'name': '大神'}}) # 修改多条数据 collections.update_many({'name': 'autofelix'}, {'$set': {'name': '大神'}})

十一、删除数据

delete_one:删除一条数据

delete_many:删除多条数据

import pymongo client = pymongo.MongoClient('mongodb://localhost:27017') # 创建test数据库 db = client.test # 创建表 collections = db.user # 删除一条数据 collections.delete_one({'name': 'autofelix'}) # 删除多条数据 collections.delete_many({'name': 'autofelix'}) # 删除所有数据 collections.delete_many({})

十二、数据排序

import pymongo client = pymongo.MongoClient('mongodb://localhost:27017') # 创建test数据库 db = client.test # 创建表 collections = db.user # 对字段 age 按升序排序 collections.find().sort('age') # 对字段 age 按降序排序 collections.find().sort('age', -1) # 多字段排序 collections.find().sort((('age',pymongo.ASCENDING),('height',pymongo.ASCENDING)))

MongoDB Python 数据库

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:CVE-2022-22947 分析
下一篇:[技术教程] 【微码开发】关于使用服务端API进行组织信息查询的问题说明
相关文章