Maison >base de données >MongoDB >Comment ajouter, supprimer, modifier et rechercher des instructions dans MongoDB
This article answers your questions about performing CRUD (Create, Read, Update, Delete) operations in MongoDB, focusing on best practices, handling large datasets, and avoiding common pitfalls.
MongoDB uses a document-oriented model, meaning data est stocké dans des documents flexibles de type JSON. Les opérations CRUD sont effectuées à l'aide du pilote MongoDB de votre choix (par exemple, Node.js Driver, Pymongo de Python, pilote Java). Examinons chaque opération:
insertOne()
insère un seul document dans une collection. insertMany()
insère plusieurs documents. Par exemple, à l'aide du pilote Python: <code class="python">import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["mydatabase"] mycol = mydb["customers"] mydict = { "name": "John", "address": "Highway 37" } x = mycol.insert_one(mydict) print(x.inserted_id) #Prints the inserted document's ID mydocs = [ { "name": "Amy", "address": "Apple st 652"}, { "name": "Hannah", "address": "Mountain 21"}, { "name": "Michael", "address": "Valley 345"} ] x = mycol.insert_many(mydocs) print(x.inserted_ids) #Prints a list of inserted document IDs</code>
find()
récupère les documents. Vous pouvez utiliser les opérateurs de requête pour filtrer les résultats. findOne()
récupère un seul document. <code class="python">myquery = { "address": "Mountain 21" } mydoc = mycol.find(myquery) for x in mydoc: print(x) mydoc = mycol.find_one(myquery) print(mydoc)</code>
updateOne()
met à jour un seul document. updateMany()
met à jour plusieurs documents. Vous utilisez l'opérateur $set
pour modifier les champs. <code class="python">myquery = { "address": "Valley 345" } newvalues = { "$set": { "address": "Canyon 123" } } mycol.update_one(myquery, newvalues) myquery = { "address": { "$regex": "^V" } } newvalues = { "$set": { "address": "updated address" } } mycol.update_many(myquery, newvalues)</code>
deleteOne()
supprime un seul document. deleteMany()
supprime plusieurs documents. <code class="python">myquery = { "address": "Canyon 123" } mycol.delete_one(myquery) myquery = { "address": { "$regex": "^M" } } x = mycol.delete_many(myquery) print(x.deleted_count)</code>
N'oubliez pas de remplacer "mongodb://localhost:27017/"
par votre chaîne de connexion MongoDB.
insertMany()
et updateMany()
pour réduire le nombre de frémités à la base de données. $where
car elles peuvent être lentes. Utilisez les opérateurs de requête appropriés. $where
Modélisation de données incorrectes: Un modèle de données mal conçu peut rendre les requêtes inefficaces et complexe. projection ($where
{field1: 1, field2: 1}) pour réduire le trafic réseau et améliorer les performances. Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!