Latest web development tutorials

concept analytique MongoDB

Que nous apprend ce que la base de données devrait apprendre l'un des concepts fondamentaux dans mongodb concept de base est que les documents, collections, bases de données, ici nous introduisons un par un.

Le tableau suivant vous aidera plus facile à comprendre certains des concepts mongo:

SQL Terminologie / Concepts terme MongoDB / notion Explication / Description
base de données base de données Base de données
table collection table de base de données / Collections
rangée document l'enregistrement des données de ligne / Documentation
colonne champ Champ de données / Domain
index index index
jointures de table Le tableau joint, MongoDB ne fonctionne pas
clé primaire clé primaire Clé primaire, MongoDB champ automatiquement _id comme la clé primaire

En suivant les exemples de figure, nous pouvons compréhension plus intuitive de mongo certains concepts:


Base de données

Un mongodb peut créer plusieurs bases de données.

La base de données par défaut MongoDB est "db", la base de données stocké dans le répertoire de données.

Une seule instance de MongoDB peut accueillir de multiples bases de données indépendantes, chacune avec son propre ensemble d'autorisations et différentes bases de données sont également placés dans des fichiers différents.

"Show dbs" commande pour afficher une liste de toutes les données.

$ ./mongo
MongoDB shell version: 3.0.6
connecting to: test
> show dbs
local  0.078GB
test   0.078GB
> 

La mise en œuvre de la commande "db" pour afficher l'objet de base de données en cours ou d'une collection.

$ ./mongo
MongoDB shell version: 3.0.6
connecting to: test
> db
test
> 

Exécuter "utiliser" commande, vous pouvez vous connecter à une base de données spécifique.

> use local
switched to db local
> db
local
> 

Des exemples de la commande ci-dessus, "local" est que vous voulez lier la base de données.

Dans le chapitre suivant, nous allons expliquer en détail l'utilisation de MongoDB dans la commande.

Base de données également être identifié par son nom. Nom de base de données peut être l'une des conditions suivantes chaîne UTF-8.

  • Il ne peut pas être une chaîne vide ( "").
  • Ne pas contenir '' (espace)., $, /, \ Et \ 0 (null Yu Fu).
  • Il devrait être en minuscules.
  • Jusqu'à 64 octets.

Certains noms de base de données sont réservés et peuvent accéder directement à ces bases de données ont un rôle particulier.

  • admin: du point de vue de l'autorité, qui est la base de données "root". Si vous ajoutez un utilisateur à la base de données, l'utilisateur hérite automatiquement toutes les bases de données des autorisations. Certaines commandes spécifiques côté serveur ne peuvent être exécutées à partir de la base de données, par exemple une liste de toutes les bases de données ou d'un serveur.
  • local: Ces données ne seront jamais copiés, peut être utilisé pour stocker toute la collection est limitée à un seul serveur local
  • config: Lorsque Mongo pour la fragmentation est réglé, la base de données de configuration utilisé en interne pour stocker des informations de tranche.

fichier

La documentation est une clé (key-value) de (c.-à-BSON). le document MongoDB ne doit pas être fourni le même domaine, le même domaine et ne nécessite pas le même type de données, qui est une base de données relationnelle est très différente, MongoDB également caractéristique très importante.

Un des exemples de documents simples sont les suivantes:

{"site":"www.w3big.com", "name":"本教程"}

Le tableau ci-dessous répertorie les termes correspondants SGBDR et MongoDB:

SGBDR MongoDB
Base de données Base de données
table ensemble
rangée fichier
rangée champ
Table conjointe Document embarqué
clé primaire Clé primaire (MongoDB fournit une clé pour la _id)
services de bases de données et les clients
Mysqld / Oracle mongod
mysql / sqlplus mongo

A noter que:

  1. paires clé / valeur de documents sont triés.
  2. Document peut être non seulement la valeur de la chaîne à l'intérieur des guillemets doubles peuvent aussi être plusieurs autres types de données (ou même les documents incorporés entiers).
  3. MongoDB pour distinguer les types et sensibles.
  4. le document MongoDB ne peut pas avoir les clés en double.
  5. Document clé est une chaîne. À quelques exceptions près, la clé peut utiliser tous les caractères UTF-8.

Documents clés Naming Convention:

  • Key ne peut pas contenir \ 0 (caractère nul). Ce caractère est utilisé pour indiquer la fin de la liaison.
  • . Et $ ont une signification spéciale seulement être utilisé dans certaines circonstances.
  • Pour souligner "_" au début des clés sont réservés (pas strictement nécessaire).

ensemble

MongoDB est un groupe de documents de collecte, similaire au SGBDR (relationnelle système de gestion de base de données: système de gestion de bases de données relationnelles) sous la forme.

Collection existe dans la base de données, une collection d'aucune structure fixe, ce qui signifie que vous pouvez insérer dans la collecte des données dans différents formats et types, mais généralement nous insérer un ensemble de données aura une certaine pertinence.

Par exemple, nous pouvons documenter ces différentes structures de données dans la collection:

{"site":"www.baidu.com"}
{"site":"www.google.com","name":"Google"}
{"site":"www.w3big.com","name":"本教程","num":5}

Lorsque le premier document dans la collection sera créée.

Légitime nom de la collection

  • Nom de la collection ne peut pas être une chaîne vide "."
  • Définir le nom ne peut pas contenir \ 0 caractères (caractère nul), ce caractère indique la fin d'une collection de noms.
  • Définir le nom ne peut pas être «système». Au début, qui est réservé pour le préfixe de réglage du système.
  • Créé par l'utilisateur nom de la collection ne peut pas contenir des caractères réservés. Certains pilotes prennent en charge la collection qui contient le nom, cela est parce que certains collection généré par le système contient le caractère. Sauf si vous voulez accéder à une collection d'un tel système est créé, sinon, ne figure pas dans $ nom à l'intérieur.

Les exemples qui suivent:

db.col.findOne()

collections plafonnés

collections limitées sont collection de taille fixe.

Il a des caractéristiques de haute performance et de la file d'attente a expiré (expiré conformément à l'ordre d'insertion). Assez semblable et le concept «RRD».

collections limitées sont insérées automatiquement afin de maintenir l'objet à haute performance. Il est idéal pour les fonctions et la collecte de l'exploitation forestière niveau similaire de différent, vous devez créer explicitement une collection limitée, une collection de la taille spécifiée, en octets. la collecte de valeurs d'espace de stockage de données affectées à l'avance.

Il est à noter que la taille de stockage spécifié de la base de données qui contient les informations d'en-tête.

db.createCollection("mycoll", {capped:true, size:100000})
  • Dans collection limitée, vous pouvez ajouter de nouveaux objets.
  • Peut être mis à jour, cependant, l'objet ne sera pas augmenter l'espace de stockage. Si vous augmentez la mise à jour échouera.
  • La base de données ne permet pas la suppression. Utilisez drop () pour supprimer toute la collection des lignes.
  • Remarque: Après avoir supprimé, vous devez recréer explicitement la collection.
  • Dans les machines 32bits, collection limitée est le plus grand 1e9 de stockage (1X10 9) octets.

Métadonnées

Les informations contenues dans la base de données est stockée dans la collection. Ils utilisent le système d'espace de noms:

dbname.system.*

Dans l'espace de noms de base de données MongoDB <dbname> .system * qui contient une variété d'informations système, collections spéciales (Collection), comme suit:

Collection namespace description
dbname.system.namespaces Liste de tous les namespaces.
dbname.system.indexes Liste de tous les indices.
dbname.system.profile Il contient les informations sommaires de base de données (profil).
dbname.system.users Liste tous les utilisateurs peuvent accéder à la base de données.
dbname.local.sources Il contient une copie de la fin (esclave) informations sur le serveur et le statut.

Pour modifier l'objet du système dans la collection présente les restrictions suivantes.

Dans les {{system.indexes}} insérer des données, vous pouvez créer un index. Mais sinon, l'information de table est immuable (la commande spéciale drop index mettra automatiquement à jour les informations pertinentes).

{{}} System.users sont modifiables. System.profile {{}} est supprimé.


type de données MongoDB

Le tableau suivant MongoDB plusieurs types de données couramment utilisés.

Types de données description
chaîne String. Stockage de données couramment utilisés types de données. En MongoDB, chaîne UTF-8 codé est légal.
entier Les valeurs entières. Il est utilisé pour stocker des valeurs. Selon le serveur que vous utilisez, il peut être divisé en 32 bits ou 64 bits.
Boolean Valeur booléenne. Pour stocker des valeurs booléennes (vrai / faux).
double Double-precision valeur à virgule flottante. Pour le stockage de valeurs à virgule flottante.
clés Min / Max La valeur minimale et un élément valeur BSON (binaire JSON) et la valeur la plus élevée du rapport relatif.
Arrays Pour tableau ou liste ou stocker plusieurs valeurs pour une clé.
Timestamp Timestamp. Modifier ou ajouter des enregistrements documentent le moment précis.
objet Pour les documents incorporés.
nul Il crée une valeur vide.
symbole Symbole. Ce type de données est sensiblement égal au type de chaîne, mais la différence est qu'il est généralement pour l'utilisation de symboles spéciaux langue dactylographiées.
date Date Heure. format de l'heure UNIX utilisé pour stocker la date ou l'heure actuelle. Vous pouvez spécifier votre propre date et l'heure: Date objet est créé, les informations de date d'arrivée.
Object ID ID d'objet. ID utilisé pour créer le document.
données binaires Les données binaires. Pour le stockage des données binaires.
code Type de Tag. code JavaScript est utilisé pour stocker des documents.
expression régulière Régulier Type d'expression. Pour le stockage de l'expression régulière.