Maison > interface Web > js tutoriel > En savoir plus sur l'ajout, la suppression, la modification et la requête dans le nœud dans mongoDB

En savoir plus sur l'ajout, la suppression, la modification et la requête dans le nœud dans mongoDB

不言
Libérer: 2018-07-27 11:07:46
original
1520 Les gens l'ont consulté

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.

Préparation

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.

Ajouté

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()
})
Copier après la connexion

Exécutez le programme et trouvez les résultats suivants imprimés sur la console

Connected successfully to server
5b59d53ae3d895184824586b
Copier après la connexion

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.

Supprimer

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()
})
Copier après la connexion

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é.

Changer

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()
})
Copier après la connexion

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 :

En savoir plus sur lajout, la suppression, la modification et la requête dans le nœud dans mongoDB

Vérifier

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()
})
Copier après la connexion

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 :

En savoir plus sur lajout, la suppression, la modification et la requête dans le nœud dans mongoDB

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal