📜  MongoDB CRUD操作(1)

📅  最后修改于: 2023-12-03 14:44:21.510000             🧑  作者: Mango

MongoDB CRUD操作

MongoDB是一种流行的文档型NoSQL数据库,它支持丰富的CRUD操作。CRUD是指Create(创建)、Read(读取)、Update(更新)和Delete(删除),是数据库基本的操作,也是应用程序中最常见的数据操作。

创建文档

在MongoDB中,文档是存储在集合中的数据对象。要创建文档,可以使用insert()方法。

from pymongo import MongoClient

client = MongoClient()

db = client.test

collection = db.users

new_user = {"name": "John", "age": 35}

collection.insert(new_user)

创建文档时,可以将一个字典作为参数传递给insert()方法。如果指定了_id键,则会使用该键的值作为文档的唯一标识符。如果不指定_id,则MongoDB会自动为文档指定一个唯一的ObjectID。

读取文档

在MongoDB中,可以使用find()方法来查询单个或多个文档。

from pymongo import MongoClient

client = MongoClient()

db = client.test

collection = db.users

# 查询单个文档
user = collection.find_one({"name": "John"})

# 查询多个文档
users = collection.find({"age": {"$gt": 25}})

在上面的代码中,find_one()方法返回集合中符合查询条件的第一个文档,而find()方法返回的是一个查询结果的游标。可以使用for循环来遍历结果集。

在查询条件中,可以使用各种比较运算符,如$gt(大于)、$lt(小于)、$gte(大于等于)、$lte(小于等于)等。

更新文档

在MongoDB中,可以使用update()方法来更新文档。

from pymongo import MongoClient

client = MongoClient()

db = client.test

collection = db.users

# 更新单个文档
collection.update_one({"name": "John"}, {"$set": {"age": 40}})

# 更新多个文档
collection.update_many({"age": {"$lt": 25}}, {"$set": {"status": "inactive"}})

在上面的代码中,update_one()方法更新符合查询条件的第一个文档,而update_many()方法更新所有符合查询条件的文档。在更新操作中,可以使用$set运算符来设置需要更新的字段。

删除文档

在MongoDB中,可以使用delete()方法来删除文档。

from pymongo import MongoClient

client = MongoClient()

db = client.test

collection = db.users

# 删除单个文档
collection.delete_one({"name": "John"})

# 删除多个文档
collection.delete_many({"status": "inactive"})

在上面的代码中,delete_one()方法删除符合查询条件的第一个文档,而delete_many()方法删除所有符合查询条件的文档。

总结

MongoDB是一种非常流行的NoSQL数据库,支持丰富的CRUD操作。在Python中,可以使用pymongo库来进行访问和操作。Create、Read、Update和Delete是数据库中基本的操作,也是应用程序中最常见的数据操作。在MongoDB中,可以使用insert()、find()、update()和delete()方法来进行这些操作。