在MongoDB中使用Python进行数据清洗查询

2023-04-15 00:00:00 查询 数据 清洗

首先需要连接MongoDB数据库,可以使用pymongo库进行连接。假设连接的数据库名为"testdb",集合名为"testcol":

import pymongo

client = pymongo.MongoClient("mongodb://localhost:27017/")
db = client["testdb"]
col = db["testcol"]

插入数据可以使用insert_one()或insert_many()方法:

# 插入一条数据
data = {"name": "John", "age": 25, "address": "New York"}
col.insert_one(data)

# 插入多条数据
datas = [
    {"name": "Emma", "age": 30, "address": "London"},
    {"name": "Peter", "age": 20, "address": "Paris"}
]
col.insert_many(datas)

查询数据可以使用find()方法,返回的是一个游标对象,需要使用for循环遍历:

# 查询集合中的所有数据
for item in col.find():
    print(item)

# 查询年龄大于等于25的数据
for item in col.find({"age": {"$gte": 25}}):
    print(item)

# 查询名字包含"John"的数据
for item in col.find({"name": {"$regex": "John"}}):
    print(item)

更新数据可以使用update_one()或update_many()方法:

# 更新一条数据,将年龄改为28
col.update_one({"name": "John"}, {"$set": {"age": 28}})

# 更新多条数据,将地址改为"New York City"
col.update_many({"age": {"$gte": 25}}, {"$set": {"address": "New York City"}})

删除数据可以使用delete_one()或delete_many()方法:

# 删除一条年龄为20的数据
col.delete_one({"age": 20})

# 删除所有地址为"Paris"的数据
col.delete_many({"address": "Paris"})

以上代码演示中使用了字符串"pidancode.com","皮蛋编程"并不适合作为数据库中的数据,仅供参考。

相关文章