MongoDB: Operações (CRUD) via Cliente

From Wiki

Algumas dicas de comandos --> DB2 JSON capabilities, Part 2: Using the command-line processor

Vamos conectar ao MongoDb usando o cliente

Abra um prompt de comando e execute:

$ mongo

Operações

Criando documentos

O comando para criar documentos é o db.<collectionName>.insert(<document>)

O MongoDb usa o campo _id como chave primária, se você não especificar, este _id é populado atráves da biblioteca ObjectIds.

Exemplo:

>db.books.insert({
         isbn: "0553418025",
         isbn-13: "978-0553418026",
         author: "Weir, Andy", 
         title: "The Martian", 
         abstract: "Six days ago, astronaut Mark Watney became one of the first people to walk on Mars.", 
         pages: 386, 
         category: "Sci-Fi"
        })

Atualizando documentos

Devemos adicionar a opção $set

Atualizando documentos:

>db.books.update({isbn: "0553418025"}, {$set: {pages: 387}})
Updated 1 rows.

Listando documentos

O comando para listar documentos é o db.<collectionName>.find()

>db.books.find()
Row 1:
 {
 "_id":{"$oid":"123a8727cd1234ed65b78a11"},
 "isbn-10":"055-341-8025",
 "isbn-13":"978-0553418026",
 "author":"Weir, Andy",
 "title":"The Martian",
 "abstract":"Six days ago, astronaut Mark Watney became one of the first people to walk on Mars.",
 "pages":387,
 "category":"Sci-Fi"
 }

Para listar por atributo

>db.books.find({author: "Weir, Andy"})

Deletando documentos

>db.books.remove({isbn: "0553418025"})
Deleted 1 rows.

para deleter todos os documentos

>db.books.remove()

Operações sobre coleções

Contando documentos de uma coleção

> db.books.count()

Criando uma coleção explicitamente

>db.createCollection(“videos”, {_id: “$long”)})
Collection: TEST."videos" created. Use db.videos.

Listando Coleções

>db.getCollectionNames()
[videos, books]

Deletando uma coleção

>db.books.drop()
OK

Outras operações

Importando documentos de um arquivo

>db.books.importFile(“books_data.js”)
14 objects were imported

Para importar em lotes, adicione um contador no final do comando

nosql>db.books.importFile(“books_data.js”, 100)

Verificando a estrutura

>db.books.sampleSchema()

 {
 "._id":"15;type:ObjectId",
 ".abstract":"15;type:String",
 ".author":"15;type:String",
 ".category":"12;type:String",
 ".isbn-10":"15;type:String",
 ".isbn-13":"15;type:String",
 ".pages":"14;type:Integer",
 ".title":"15;type:String",
 }

Criando índices

>db.books.ensureIndex({"author": 1})
Index <books_xauthor> was created successfully.

Ver também