Latest web development tutorials

connexion MongoDB

Dans ce tutoriel, nous allons discuter des différents connecteurs pour MongoDB.


Démarrez le service MongoDB

Dans le tutoriel précédent, nous avons discuté de la façon de démarrer le serveur MongoDB le service, il vous suffit d'effectuer 'mongod' peut être dans le répertoire d'installation de MongoDB répertoire bin.

Après l'opération de démarrage, sortie mongodb après quelques informations nécessaires ne sera pas sortie toute information, puis attendez que la connexion est établie, lorsque la connexion est établie, il va commencer les informations du journal d'impression.

Vous pouvez utiliser shell MongoDB MongoDB pour se connecter au serveur. Vous pouvez également utiliser PHP pour se connecter à MongoDB. Ce tutoriel, nous allons utiliser pour se connecter à des services MongoDB shell MongoDB plus tard chapitres, nous allons expliquer comment se connecter au service MongoDB via php.



services de connexion MongoDB par shell

Vous pouvez connecter le service MongoDB en exécutant la commande suivante.

Remarque: localhost est le nom d'hôte, cette option est nécessaire:

mongodb: // localhost

Lorsque vous exécutez la commande ci-dessus, vous pouvez voir la sortie suivante:

$ ./mongo
MongoDB shell version: 3.0.6
connecting to: test
> mongodb://localhostmongodb://localhost
... 

Cette fois , vous vérifiez en arrière la fenêtre de commande de course, d'où vous pouvez voir une connexion au serveur MongoDB, vous pouvez voir les informations suivantes:

……省略信息……
2015-09-25T17:22:27.336+0800 I CONTROL  [initandlisten] allocator: tcmalloc
2015-09-25T17:22:27.336+0800 I CONTROL  [initandlisten] options: { storage: { dbPath: "/data/db" } }
2015-09-25T17:22:27.350+0800 I NETWORK  [initandlisten] waiting for connections on port 27017
2015-09-25T17:22:36.012+0800 I NETWORK  [initandlisten] connection accepted from 127.0.0.1:37310 #1 (1 connection now open)  # 该行表明一个来自本机的连接

……省略信息……


MongoDB connexion Syntaxe

L' utilisation d' un nom d'utilisateur et mot de passe pour se connecter au serveur MongoDB, vous devez utiliser «nom d' utilisateur: mot de passe @ hostname / dbname ' format' nom d' utilisateur 'username,' password 'comme un mot de passe.

Nom d'utilisateur et mot de passe pour se connecter à la base de données par défaut:

$ ./mongo
MongoDB shell version: 3.0.6
connecting to: test
mongodb://admin:123456@localhost/

La commande ci-dessus, l'utilisateur mot de passe admin 123456 pour se connecter au service de MongoDB local. Le résultat est le suivant: <p>

> mongodb://admin:123456@localhost/
... 

Nom d'utilisateur et mot de passe pour se connecter à la base de données spécifiée:

Connectez-vous à la base de données spécifiée dans le format suivant:

mongodb: // admin: 123456 @ localhost / test


D'autres exemples de connexions

Se connecter au serveur de base de données locale, le port est la valeur par défaut.

mongodb: // localhost

Nom d'utilisateur fred, le mot de passe de connexion foobar localhost la base de données d'administration.

mongodb: // fred: foobar @ localhost

Nom d'utilisateur fred, connecter la base de données de mot de passe foobar localhost baz.

mongodb: // fred: foobar @ localhost / baz

Connexion paire réplique, 1 serveur de serveur example1.com 2 example2.

mongodb: //example1.com: 27017, example2.com: 27017

replica Raccordement défini trois serveurs (ports 27017, 27018 et 27019):

mongodb: // localhost, localhost: 27018, localhost: 27019

réplique Raccordement établi trois serveurs, écrit dans le serveur d'application principale et distribuée requête au serveur.

mongodb: // host1, host2, host3 / slaveOk = true?

Connexion directe au premier serveur, si elle fait partie de l'ensemble de la réplique ou le serveur principal ou du serveur.

mongodb: // host1, host2, host3 / connect = direct; slaveOk = true?

Lorsque vous connecter à un serveur est prioritaire, mais aussi besoin de lister tous les serveurs, vous pouvez utiliser le mode de connexion.

Mode sans échec pour se connecter à localhost:

mongodb :? // localhost / safe = true

Mode sans échec est relié à l'ensemble de la réplique, et attendez au moins deux serveurs répliqués avec succès écrits, définissez le délai d'attente de 2 secondes.

mongodb: // host1, host2, host3 / safe = true; w = 2; wtimeoutMS = 2000?


Paramètre Option Description

Format standard:

mongodb: // [nom d'utilisateur: mot de passe @] host1 [: port1] [, host2 [: port2], ... [, HOSTN [: portN]]] [/ [base de données] [options]?]

format de connexion standard contient plusieurs options (options), comme suit:

options de description
replicaSet = nom Vérifiez que le nom du jeu de réplicas. Impliesconnect = replicaSet.
slaveOk = true | false
  • true: Sous connect = mode direct, le lecteur sera connecté à la première machine, même si elle est pas le serveur principal. En mode de connexion = replicaSet, le pilote envoie toutes les demandes d'écriture au primaire et l'autre situé dans une opération de lecture à partir du serveur.
  • false: Sous connect = mode direct, le lecteur trouvera automatiquement le serveur principal en mode de connexion = replicaSet, le lecteur est connecté uniquement au serveur principal, et tout lire et écrire les commandes sont connectées au serveur principal.
safe = true | false
    • true: Après l'opération de mise à jour, le lecteur envoie la commande getLastError pour veiller à ce que la mise à jour est réussie. (Voir aussi wtimeoutMS).
false: Après chaque mise à jour, le pilote ne sera pas envoyer des getLastError pour assurer une mise à jour réussie.
w = n Conduisez ajouter {w: n} commande applique à getLastError safe = true ..
wtimeoutMS = ms Conduisez Ajouter {wtimeout: ms} commande applique à getLastError safe = true ..
fsync = true | false
  • true: conduire ajouter {fsync: true} commande GetLastError applique à la sécurité = true..
  • faux: lecteur n'a pas ajouté à la commande getLastError.
journal = true | false Si vrai, synchronisé à la revue (en écrit à la base de données avant de soumettre à l'entité). Applique à la sécurité = true
connectTimeoutMS = ms Vous pouvez ouvrir le temps de connexion.
socketTimeoutMS = ms Envoyer et recevoir des prises de temps.