python 包之 mongodb 数据库操作教程

Posted autofelix

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 包之 mongodb 数据库操作教程相关的知识,希望对你有一定的参考价值。

一、安装

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)


三、创建数据库

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: 以上是关于python 包之 mongodb 数据库操作教程的主要内容,如果未能解决你的问题,请参考以下文章

python 包之 JSON 轻量数据操作教程

python 包之 redis 数据库操作教程

python 包之 PyQuery 网页解析教程

python 包之 blinker 信号库教程

python 包之 pywin32 操控 windows 系统教程

python 包之 yagmail 发送邮件教程