Bonjour,
Je vous présente un tutoriel qui initie aux bases de données NoSQL avec MongoDB :
Citation:
Envoyé par Synopsis
Version imprimable
Bonjour,
Je vous présente un tutoriel qui initie aux bases de données NoSQL avec MongoDB :
Citation:
Envoyé par Synopsis
Bonjour
Merci pour ce tuto, très clair pour les débutants). Il y a encore quelques petites typo :
- page 11 : "show dbs", le show devrait être en gris
- page 12 : "User bdtest" -> "use bdtest"
- page 9 : md ne fonctionne pas, il faut les droit administrateur (perso, je ne sais pas comment faire pour les avoir, j'ai fait avec l'explorateur win pour créer les répertoires)
Je finis de le lire dans l'apres midi pour la suite.
- Page 12 : "Help" -> "help"
Page 11 : "insérer des documents dans une collection" : qu'est ce qu'une collection ? Perso, c'est mon premier document sur les BD, donc je ne sais pas. Après, si je devais deviner, je dirais qu'une base de données se découpe (se structure) en collection, c'est ca ? Et donc que testdata est une collection ? Mais un peu de précision pourrait être utile (je pars biens sur du principe, affiché au départ, que c'est un tuto pour débutants) . Par exemple :
- la création de collection est-elle obligatoire ou peut-on s'en passer et ajouter directement des enregistrements dans "bdtest" ?
- Peut-on créer des sous-collections ? Des sous-sous-collection ?
Vois la collection comme une table et les documents comme les enregistrements de cette table.
1/ J'ai un peu du mal a comprendre le cursor.
Si je tape
J'ai le résultat de db.testData.find() qui s'affiche.Code:
1
2 var c = db.testData.find() c
Si je tape
j'ai le 5° élément qui s'affiche.Code:
1
2 var c = db.testData.find() c[5]
Mais je ne peux pas taper :
?Code:
1
2
3 var c = db.testData.find() c c[5]
2/ Si j'ai bien compris, MongoDB est un ECV et est donc basé sur un système "clef-valeur"'. Dans la ligne
la clef, c'est "x" et la valeur c'est "2" ?Code:{ "_id" : ObjectId("5645ef197ff3eb68424944e9"), "x" : 2 }
Ou bien la clef c'est "5645ef197ff3eb68424944e9" et la valeur c'est "x:2" ?
Christophe
Salut à Tous,
Merci Christophe Genolini pour les remarques et corrections. Une mise à jour de l'article sera plubliée d'ici peu.
La commande md permet de créer un repertoire (et aussi avec ses sous repertoire). Si vous voulez créer un repertoire dans un emplacement qui nécessite des droits administrateur, il faudra lancer votre invite de commande avec des droit administrateur:
Boutton Démarrer --> Taper CMD --> Clic droit sur le résultat de la recherche (cmd bien entendu) --> clic sur "lancer en tant que administrateur".
Concernant la question sur les collections:
Comme il a déjà été dit plus haut, il faut voir la collections en mongodb comme la table en sql.
Une collection est juste un ensemble de documents. Il n'est donc pas possible d'insérer un documents dans la BD en se passant de la collection. Tout document doit appartenir à une collection.
Concernant la première question sur "Cursor":
Comme il a été dit dans le tuto, Cursor permet de faire une itération sur le résultat d'une requête. lors d'une requête, cet object cursor peut être affecté à une variable, par exemple: var c = db.testData.find()
C'est un constat que j'ai fais, je ne peux vraiment pas donner d'explications plus claires; cette variable c se comporte comme une mémoire tampon. La première opération la vide de son contenu. Raison pour la quelle au niveau de l'exécution des instructions suivante:
var c = db.testData.find()
c
c[5]
c[5] n'affiche aucun résultat, car la variable c ne contient plus le cursor.
Pour l'instant, je n'ai pas d'idées claires à ce sujet. J'y reviendrai peut-être.
Concernant la deuxième question sur "Cursor".
Comme vous l'avez vous même dit, MongoDB fonctionne sous le système Clé-Valeur. Pour le document suivant:
nous avons deux couples clé-valeur:Code:{ "_id" : ObjectId("5645ef197ff3eb68424944e9"), "x" : 2 }
- "_id" : ObjectId("5645ef197ff3eb68424944e9"): la clé ici est "_id" et la valeur est ObjectId("5645ef197ff3eb68424944e9")
- "x" : 2: La clé ici est "x", et la valeur est 2
Comme il a été dit dans le tuto, tout enregistrement doit comporté un champ id. S'il n'est pas définit par l'utilisateur, il est créé automatiquement. Raison pour laquelle vous le voyez dans votre document.