sábado, 24 de agosto de 2013

     Hoje vamos estudar sobre o quanto útil pode ser o ObjectId de um documento no MongoDB. Sabemos que, para inserir um documento em uma collection, utilizamos:

db.collection.insert({documento})

     Se, ao realizar esta inserção, não especificarmos o '_id', o mongo criará um automaticamente, sendo um tipo BSON e com a seguinte estrutura:

um valor de 4 bytes representando os segundos;
um valor de 3 bytes identificando a máquina;
um valor de 2 bytes com um id do processo;
um contador de 3 bytes iniciado com um valor aleatório.

     Esta estrutura garante que o ObjectId seja único para cada documento, assim como uma chave primária no modelo relacional. Como exemplo, vamos gerar um ObjectId e atribuí-lo a uma variável x

x = ObjectId()

e temo o resultado:


     Podemos agora, a partir de x, acessar algumas propriedades do ObjectId. Temos a sequência de métodos na figura abaixo:


     Pode ser muito útil recuperar a data em que um documento foi criado. Para isso, usamos o método getTimestamp(). No caso de tratar o ObjectId como uma string, temos o método str, que retorna-o como uma string hexadecimal e o método toString(), que retorna o ObjectId em ASCII.

     Um abraço e até o próximo post!

0 comentários:

Postar um comentário