Le contenu de cet article concerne l'apprentissage de l'ajout, de la suppression, de la modification et de l'enregistrement de nœuds dans mongoDB. Il a une bonne valeur de référence et j'espère qu'il pourra aider les amis dans le besoin.
Tout d'abord, pour utiliser mongoDB dans node, vous devez installer le pilote MongoDB La commande est la suivante : npm install mongodb --save
adresse github : node-mongodb-. natif
En parallèle, pensez à activer le service mongoDB.
Le code suivant insérera un document dans la collection de tâches de la base de données demodb et imprimera l'ID du document sur la console.
const MongoClient = require('mongodb').MongoClient const assert = require('assert') const url = 'mongodb://localhost:27017' const dbName = 'demodb' // 增 MongoClient.connect(url, function(err, client) { assert.equal(null, err) console.log("Connected successfully to server") const db = client.db(dbName) var tasks = db.collection('tasks') // 没有则创建 tasks.insertOne( { "project": "task1", "description": "task1 description." }, {safe: true}, function(err, documents) { if (err) throw err; console.log(documents.insertedId); } ); client.close() })
Exécutez le programme et trouvez les résultats suivants imprimés sur la console
Connected successfully to server 5b59d53ae3d895184824586b
Le 5b59d53ae3d895184824586b
renvoyé est l'identifiant du document de MongoDB, qui est unique. L'essence est binaire. JSON (c'est-à-dire BSON) est le principal format de données utilisé par MongoDB pour échanger des données. Le serveur MongoDB l'utilise pour échanger des données au lieu de JSON. Dans la plupart des cas, l'analyse est plus efficace et plus rapide.
Le {safe: true} déclaré indique que la fonction de rappel ne sera pas exécutée tant que l'opération de base de données n'est pas terminée.
Remarque : Pour plus de commodité, le mode d'autorisation n'est pas activé ici. Par conséquent, vous n'avez pas besoin d'un nom d'utilisateur et d'un mot de passe dans l'URL de connexion et vous pouvez ajouter, supprimer, modifier et vérifier sur. volonté. Mais dans l'environnement de production, n'oubliez pas d'activer le mode d'autorisation.
Le code suivant trouvera le document dont le projet est task1 dans la collection de tâches de la base de données demodb et le supprimera.
// 删 MongoClient.connect(url, function(err, client) { assert.equal(null, err) console.log("Connected successfully to server") const db = client.db(dbName) var tasks = db.collection('tasks') tasks.deleteOne( { "project": "task1" }, function(err, result) { assert.equal(err, null); assert.equal(1, result.result.n); console.log("Removed the document"); } ); client.close() })
Remarque : S'il existe plusieurs documents avec la tâche de projet 1 dans la collection de tâches, alors seul le document trouvé du premier jour sera supprimé.
Le code suivant trouvera le document dont le projet est task1 dans la collection de tâches de la base de données demodb et le mettra à jour.
// 改 MongoClient.connect(url, function(err, client) { assert.equal(null, err) console.log("Connected successfully to server") const db = client.db(dbName) var tasks = db.collection('tasks') tasks.updateOne( { "project": "task1" }, { $set: { "project" : "task999" } }, {safe: true}, function(err, result) { assert.equal(err, null); assert.equal(1, result.result.n); console.log("Updated the document"); } ); client.close() })
Remarque : Si le document avec la tâche du projet 1 n'est pas trouvé dans la collection de tâches, le programme générera une erreur d'assertion, comme suit :
Le code suivant trouvera tous les documents de la collection de tâches dans la base de données demodb et les imprimera sur la console.
// 查 MongoClient.connect(url, function(err, client) { assert.equal(null, err) console.log("Connected successfully to server") const db = client.db(dbName) var tasks = db.collection('tasks') tasks.find().toArray((err, docs) => { console.log(docs) assert.equal(null, err) // err 不等于null, 则在控制台打印err // assert.equal(3, docs.length) // 记录不等于3条, 则在控制台打印记录条数 }) client.close() })
La méthode find() trouve tous les documents, toArray() convertit les résultats sous forme de tableau et exécute le programme. Les résultats sont les suivants :
RésuméBien que les quatre petits programmes ci-dessus soient légèrement simples, vous ne pouvez pas parcourir des milliers de kilomètres sans faire de petites étapes si vous maîtrisez vraiment les bases de l'ajout, de la suppression, modification et requête, la maîtrise d'applications complexes n'est qu'une question d'étapes. Recommandations associées :
Présentation des utilisateurs et des autorisations dans mongoDB
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!