Skip to content

Latest commit

 

History

History
157 lines (127 loc) · 3.85 KB

insert.md

File metadata and controls

157 lines (127 loc) · 3.85 KB

insert

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"
}

ObjectId

Você deve ter percebido esse campo após listarmos os objetos da nossa coleção

Inserindo

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()