Escolar Documentos
Profissional Documentos
Cultura Documentos
SourceForge
NY Times
Justin.tv
Default Indexes:
_id
Chaves embutidas
db.things.ensureIndex({“address.city”:1})
Documentos como chaves
db.factories.ensureIndex ({metro : 1});
Arrays
Cada elemento é indexado.
Top. Esp. BD II 12/9/21 11
MongoDB - Index
Índices compostos
Se temos um índice em
a,b,c
Podemos usá-lo em queries de:
a
a,b
a,b,c
Top. Esp. BD II 12/9/21 12
MongoDB - Index
Unique Indexes
db.things.ensureIndex({name:1,lastname:1}
, {unique: true});
Missing Keys
db.things.save({lastname: “Viana”}); OK
db.things.save({lastname: “Assis”}); Falha
Duplicate Values
Db.things.ensureIndex({name:1}, {unique:true,
dropDups:true});
Top. Esp. BD II 12/9/21 13
MongoDB - Index
Background Index Building
Bloqueia outras operações na base.
Dropping Index
db.collection.dropIndexes();
ReIndex
db.myCollection.reIndex();
//same as:
db.runCommand({reIndex : ‘myCollection’})
db.users.find({});
db.users.find({‘name’: ‘Vitor’});
Sorting
ascending
db.users.find({}).sort({name: 1})
Cursores
Find() retorna um cursor.
(criteria,objNew,upsert, multi)
Argumentos
Criteria: critério de seleção.
objNew: Objeto atualizado.
Upsert: Se existe, atualiza, senão insere.
Multi: Todos os elementos que satisfazem o
critério de seleção serão atualizados.
$set
{$set : {field : value}}
$unset
{$unset : {field : 1}}
$addToset
{$addToSet : {field : value}}
Adiciona ao array, se ainda não está no array.
$pull/$pullAll
{$pull : {field : value}}
Remove todas as ocorrências do value em um
array.
>t.update{(‘comments.by’:’Joe’), {$inc:
{‘comments.$.votes’:1}}, false, true}
$metadata = array(
<pre> "filename" => "path.avi",
"downloads" => 0,
"comment" => "This file is foo bar",
"permissions" => array(
"crodas" => "write",
"everybody" => "read",
)
);
$grid = $db->getGridFS();
$grid->storeFile("/file/to/path.avi", $metadata);