Latest web development tutorials

conexão MongoDB

Neste tutorial vamos discutir os diferentes conectores para MongoDB.


Iniciar serviço MongoDB

No tutorial anterior, nós discutimos como iniciar o servidor MongoDB serviço, você só precisa executar 'mongod' pode estar no diretório de instalação do MongoDB bin.

Após a operação de início, a produção mongodb depois de alguma informação necessária não será emitido qualquer informação, em seguida, aguardar a conexão é estabelecida, quando a conexão é estabelecida, ele vai começar a informação de registro de impressão.

Você pode usar shell MongoDB MongoDB para se conectar ao servidor. Você também pode usar o PHP para se conectar ao MongoDB. Neste tutorial, vamos usar para se conectar a serviços MongoDB shell MongoDB depois capítulos vamos explicar como se conectar ao serviço MongoDB via php.



serviços de conexão MongoDB através de shell

É possível conectar o serviço MongoDB executando o comando a seguir.

Nota: localhost é o nome do host, esta opção é necessária:

mongodb: // localhost

Quando você executar o comando acima, você pode ver o seguinte resultado:

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

Desta vez você volte janela de comando run ./mongod, de onde se pode ver uma conexão com o servidor MongoDB, você pode ver as seguintes informações:

……省略信息……
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 conexão Sintaxe

Usando um nome de usuário e senha para se conectar ao servidor MongoDB, você deve usar 'username: password @ / dbname hostname ' formato, 'username' username, 'password' como uma senha.

nome de login de usuário e senha para se conectar ao banco de dados padrão:

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

O comando acima, a senha de administrador do usuário 123456 para se conectar ao serviço MongoDB local. A saída é como se segue: <, p>

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

nome de login de usuário e senha para se conectar ao banco de dados especificado:

Conecte-se ao banco de dados especificado no seguinte formato:

mongodb: // admin: 123456 @ localhost / test


Mais exemplos de ligações

Conectar ao servidor de banco de dados local, a porta é o padrão.

mongodb: // localhost

nome do usuário fred, sessão foobar senha localhost o banco de dados administrador.

mongodb: // fred: foobar @ localhost

nome do usuário fred, acessar banco de dados de senha foobar localhost de Baz.

mongodb: // fred: foobar @ localhost / baz

par réplica de conexão, o servidor 1 servidor example1.com 2 example2.

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

Ligar conjunto de réplicas três servidores (porta 27017, 27018 e 27019):

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

Ligar conjunto de réplicas três servidores, escreve no servidor principal do aplicativo e distribuído consulta para o servidor.

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

conexão direta para o primeiro servidor, se faz parte do conjunto de réplicas ou o servidor principal ou do servidor.

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

Quando você conectar a um servidor tem prioridade, mas também precisa listar todos os servidores, você pode usar o modo de conexão.

Modo de segurança para se conectar ao localhost:

mongodb :? // localhost / safe = true

Modo de segurança está ligada ao conjunto de réplicas, e aguarde pelo menos dois servidores replicados com sucesso escritas, definir o tempo limite de 2 segundos.

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


Parâmetro Opção Descrição

formato padrão:

mongodb: // [nome de usuário: senha @] host1 [: port1] [, host2 [: port2], ... [, hostN [: portN]]] [/ [banco de dados] [opções]?]

formato de conexão padrão contém várias opções (opções), como segue:

opções descrição
replicaSet = name Verifique se o nome do conjunto de réplicas. Impliesconnect = replicaSet.
slaveOk = true | false
  • verdade: Sob connect = modo direto, a unidade será conectada à primeira máquina, mesmo que não é o servidor primário. Sob o modo de conexão = replicaSet, o motorista vai enviar todos os pedidos para o primário eo outro localizado em uma operação de leitura a partir do servidor escrever.
  • false: Sob conectar = modo direto, a unidade irá localizar automaticamente o servidor primário no modo de conexão = replicaSet, a unidade só é ligado ao servidor principal, e todos ler e escrever comandos estão conectados ao servidor principal.
segura = true | false
    • verdade: Após a operação de atualização, a unidade irá enviar o comando getLastError para garantir que a atualização for bem-sucedida. (Consulte também a wtimeoutMS).
false: Após cada atualização, o driver não irá enviar getLastError para garantir uma atualização bem-sucedida.
W = n Drive Adicionar {w: n} comando se aplica a GetlastError segura = true ..
wtimeoutMS = ms Drive Adicionar {wtimeout: ms} comando se aplica a GetlastError segura = true ..
fsync = true | false
  • verdade: condução adicionar {fsync: true} comando GetLastError se aplica ao seguro = true..
  • false: unidade não é adicionado ao comando getLastError.
Jornal = true | false Se definido como verdadeiro, sincronizados para a revista (por escrito ao banco de dados antes de enviar para a entidade). Aplica-se a segura = true
connectTimeoutMS = ms Você pode abrir o tempo de conexão.
socketTimeoutMS = ms Enviar e receber bases de tempo.