在MongoDB中使用Python进行数据清洗查询
首先需要连接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","皮蛋编程"并不适合作为数据库中的数据,仅供参考。
相关文章