MongoDB não tem um
CREATE DATABASE
instrução como o SQL faz. No MongoDB, você cria um banco de dados simplesmente alternando para um banco de dados inexistente e inserindo dados.
Exemplo
Aqui está um exemplo de criação de um novo banco de dados:
use PetHotel
Resultado:
switched to db PetHotel
Isso cria um novo banco de dados chamado
PetHotel
e o torna o banco de dados atual. No entanto, o banco de dados é criado apenas parcialmente. Ele não é totalmente criado até que você insira dados.
Se executarmos o
show dbs
comando para ver quais bancos de dados temos, ele não será mostrado. show dbs
Resultado:
admin 0.000GB config 0.000GB local 0.000GB
Este é o conjunto padrão de bancos de dados que foram instalados com o MongoDB. Se você tiver outros bancos de dados, também os verá aqui.
Mas a questão é que nosso recém-criado
PetHotel
banco de dados está longe de ser visto! Inserir dados
Para criar completamente o banco de dados, precisamos inserir alguns dados. Mesmo apenas uma pequena quantidade é suficiente.
Exemplo:
db.pets.insert({ name: "Fetch" })
Resultado:
WriteResult({ "nInserted" : 1 })
Esta mensagem nos informa que um documento foi inserido.
Agora, quando executamos
show dbs
novamente, podemos ver nosso banco de dados recém-criado. show dbs
Resultado:
PetHotel 0.000GB admin 0.000GB config 0.000GB local 0.000GB
Coleções
Um banco de dados contém coleções. No nosso caso, já criamos uma coleção chamada
pets
. Ao inserir dados, você usa a sintaxe assim:
db.<collection>.insert()
Onde
<collection>
é o nome da coleção na qual inserir dados. Se a coleção não existir, ela será criada. No nosso caso, usamos o seguinte comando:
db.pets.insert({ name: "Fetch" })
Que criou uma coleção chamada
pets
(porque ainda não existia). Verifique os dados
Você pode usar o
find()
método de coleta para verificar os dados na coleção. Exemplo:
db.pets.find()
Resultado:
{ "_id" : ObjectId("5fe02d3937b49e0faf1af20b"), "name" : "Fetch" }
Como esperado, nosso documento é devolvido.
Você notará que ele também tem um campo extra. Tem um
_id
campo, que não especificamos quando adicionamos o documento. O
_id
campo é um campo especial. É usado como um identificador para o documento. Se o documento não especificar um _id
campo, então o MongoDB adicionará o _id
campo e atribua um ObjectId
exclusivo para o documento antes de inseri-lo. Como alternativa, você pode fornecer seu próprio
_id
campo e atribua a ele seu próprio valor. No entanto, observe que o _id
O valor deve ser exclusivo dentro da coleção para evitar erros de chave duplicada.