CouchDB - Création d'un document

Les documents sont la structure de données centrale de CouchDB. Le contenu de la base de données sera stocké sous la forme de documents au lieu de tables. Vous pouvez créer ces documents en utilisant l'utilitaire cURL fourni par CouchDB, ainsi que Futon. Ce chapitre couvre les façons de créer un document dans une base de données.

Chaque document dans CouchDB a un identifiant unique. Vous pouvez choisir votre propre identifiant qui doit être sous la forme d'une chaîne. Généralement, UUID (Universally Unique IDentifier) ​​est utilisé, qui sont des nombres aléatoires qui ont le moins de chances de créer un doublon. Ceux-ci sont préférés pour éviter les collisions.

Création d'un document à l'aide de l'utilitaire cURL

Vous pouvez créer un document dans CouchDB en envoyant une requête HTTP au serveur à l'aide de la méthode PUT via l'utilitaire cURL. Voici la syntaxe pour créer un document.

$ curl -X PUT http://127.0.0.1:5984/database name/"id" -d ' { document} '

En utilisant −X, nous pouvons spécifier une méthode de requête HTTP personnalisée que nous utilisons, tout en communiquant avec le serveur HTTP. Dans ce cas, nous utilisons la méthode PUT. Lorsque nous utilisons la méthode PUT, le contenu de l'url spécifie le nom de l'objet que nous créons à l'aide de la requête HTTP. Ici, nous devons envoyer ce qui suit -

  • Le nom du nom de la base de données dans laquelle nous créons le document.

  • L'identifiant du document.

  • Les données du document. −dL'option est utilisée pour envoyer les données / le document via une requête HTTP. Lors de la rédaction d'un document, entrez simplement vos paires Champ-Valeur séparées par deux-points, entre crochets de fleurs comme indiqué ci-dessous -

{
   Name : Raju
   age : 23
   Designation : Designer
}

Exemple

Utilisation de la syntaxe ci-dessus si vous souhaitez créer un document avec un identifiant 001 dans une base de données avec un nom my_database, vous pouvez le créer comme indiqué ci-dessous.

$ curl -X PUT http://127.0.0.1:5984/my_database/"001" -d
'{ " Name " : " Raju " , " age " :" 23 " , " Designation " : " Designer " }'

{"ok":true,"id":"001","rev":"1-1c2fae390fa5475d9b809301bbf3f25e"}

La réponse de CouchDB à cette demande contient trois champs -

  • "ok", indiquant que l'opération a réussi.

  • "id", qui stocke l'identifiant du document et

  • "rev",cela indique l'ID de révision. Chaque fois que vous révisez (mettez à jour ou modifiez) un document_revla valeur sera générée par CouchDB. Si vous souhaitez mettre à jour ou supprimer un document, CouchDB attend que vous incluiez le_revchamp de la révision que vous souhaitez modifier. Lorsque CouchDB accepte le changement, il génère un nouveau numéro de révision. Ce mécanisme assure le contrôle de la concurrence.

Vérification

Si vous souhaitez afficher le document créé, vous pouvez l'obtenir en utilisant le document comme indiqué ci-dessous.

$ curl -X GET http://127.0.0.1:5984/my_database/001
{
   "_id": "001",
   "_rev": "1-3fcc78daac7a90803f0a5e383f4f1e1e",
   "Name": "Raju",
   "age": 23,
   "Designation": "Designer"
}

Créer un document à l'aide de Futon

Pour créer un document, ouvrez le http://127.0.0.1:5984/_utils/ url pour obtenir une page de présentation / d'index de CouchDB comme indiqué ci-dessous.

Sélectionnez la base de données dans laquelle vous souhaitez créer le document. Ouvrez la page Présentation de la base de données et sélectionnezNew Document option comme indiqué ci-dessous.

Lorsque vous sélectionnez le New Documentoption, CouchDB crée un nouveau document de base de données, en lui attribuant un nouvel identifiant. Vous pouvez modifier la valeur de l'identifiant et attribuer votre propre valeur sous la forme d'une chaîne. Dans l'illustration suivante, nous avons créé un nouveau document avec un id 001.

Dans cette page, vous pouvez observer trois options: enregistrer le document, ajouter un champ et télécharger la pièce jointe.

Ajouter un champ au document

Pour ajouter un champ au document, cliquez sur Add Fieldoption. Après avoir créé une base de données, vous pouvez y ajouter un champ à l'aide de cette option. En cliquant dessus, vous obtiendrez une paire de zones de texte, à savoir,Field, value.Vous pouvez modifier ces valeurs en cliquant dessus. Modifiez ces valeurs et saisissez la paire Champ-Valeur souhaitée. Cliquez sur le bouton vert pour enregistrer ces valeurs.

Dans l'illustration suivante, nous avons créé trois champs Nom, Âge et Désignation de l'employé.

Enregistrer le document

Vous pouvez enregistrer les modifications apportées au document en cliquant sur cette option. Après l'enregistrement, un nouvel identifiant_rev sera généré comme indiqué ci-dessous.