Você deve ter notado que o database worksop-be-mean
não foi criado né? Porque o MongoDB só irá realmente criar seu database quando você inserir um objeto em uma coleção. Então vamos fazer isso:
db.teste.insert({a: true})
Listamos novamente com show dbs
e voiala!
Perceba que a sintaxe de um comando no MongoDb é:
database.coleção.função()
db.teste.insert()
// Inserindo diretamente via parametro
db.teste.insert({a: true})
// Inserindo via variável
var json = {b: 'TESTE'}
db.teste.insert(json)
Quando usamos o comando use
, ele muda nosso database e o aponta para a variável db
usada no inicio dos comandos, então ela sempre apontará para e database atual, como podemos ver executando apenas seu nome:
db
be-mean-instagram
Dica: instale o mongo-hacker
, ver no github, manualmente.
db.teste.find()
{
"_id": ObjectId("546142385b9f2b586cb31d06"),
"a": true
}
{
"_id": ObjectId("546142665b9f2b586cb31d07"),
"b": "TESTE"
}
Você deve ter percebido esse campo após listarmos os objetos da nossa coleção
Para inserir um objeto no MongoDb podemos criá-lo em uma variável e depois passar como parâmetro para a função insert
ou save
:
var pokemon = {'name':'Pikachu','description':'Rato elétrico bem fofinho','type': 'electric', attack: 100, height: 0.4 }
db.pokemons.insert(pokemon)
Inserted 1 record(s) in 3ms
WriteResult({
"nInserted": 1
})
Para inserir diversos registros de uma só vez podemos criar um array com nossos objetos como abaixo:
suissacorp(mongod-3.0.6) be-mean-instagram> var pokemons = [
{'name':'Bulbassauro','description':'Chicote de trepadeira','type': 'grama', 'attack': 49, height: 0.4 }, {'name':'Charmander','description':'Esse é o cão chupando manga de fofinho','type': 'fogo', 'attack': 52, height: 0.6 }, {'name':'Squirtle','description':'Ejeta água que passarinho não bebe','type': 'água', 'attack': 48, height: 0.5 }]
suissacorp(mongod-3.0.6) be-mean-instagram> pokemons
[
{
"name": "Bulbassauro",
"description": "Chicote de trepadeira",
"type": "grama",
"attack": 49,
"height": 0.4
},
{
"name": "Charmander",
"description": "Esse é o cão chupando manga de fofinho",
"type": "fogo",
"attack": 52,
"height": 0.6
},
{
"name": "Squirtle",
"description": "Ejeta água que passarinho não bebe",
"type": "água",
"attack": 48,
"height": 0.5
}
]
suissacorp(mongod-3.0.6) be-mean-instagram> db.pokemons.insert(pokemons)
Inserted 1 record(s) in 1ms
BulkWriteResult({
"writeErrors": [ ],
"writeConcernErrors": [ ],
"nInserted": 3,
"nUpserted": 0,
"nMatched": 0,
"nModified": 0,
"nRemoved": 0,
"upserted": [ ]
})
db.pokemons.find()
{
"_id": ObjectId("564220f0613f89ac53a7b5d0"),
"name": "Pikachu",
"description": "Rato elétrico bem fofinho",
"type": "electric",
"attack": 100,
"height": 0.4
}
{
"_id": ObjectId("56422345613f89ac53a7b5d1"),
"name": "Bulbassauro",
"description": "Chicote de trepadeira",
"type": "grama",
"attack": 49,
"height": 0.4
}
{
"_id": ObjectId("56422345613f89ac53a7b5d2"),
"name": "Charmander",
"description": "Esse é o cão chupando manga de fofinho",
"type": "fogo",
"attack": 52,
"height": 0.6
}
{
"_id": ObjectId("56422345613f89ac53a7b5d3"),
"name": "Squirtle",
"description": "Ejeta água que passarinho não bebe",
"type": "água",
"attack": 48,
"height": 0.5
}
Fetched 4 record(s) in 2ms
Dica: quando utilizar o comando find
ou findOne
e não tiver o mongo-hacker, utilize no final a função pretty()
.
db.pokemons.find().pretty()