MongoDB ObjectId
Nos primeiros capítulos temos usado MongoDB objeto Id (ObjectId).
Nesta seção, vamos olhar para a estrutura da ObjectId.
ObjectId BSON é um tipo de dados de 12 bytes, tem o seguinte formato:
- O primeiro marcador de tempo quatro bytes
- Os próximos três bytes de código de máquina é
- Imediatamente dois bytes compostas pelo ID do processo (PID)
- Os últimos três bytes de números aleatórios.
documentos MongoDB armazenados deve haver uma chave "_id". O valor desta chave pode ser qualquer tipo, o padrão é objeto ObjectId.
Em um jogo dentro de cada documento tem um valor único "_id", para garantir a cobrança dentro de cada documento pode ser identificada exclusivamente.
MongoDB usa ObjectId, mas não a principal razão outra abordagem mais convencional (como chave primária auto-incremento), porque o valor da chave primária é automaticamente aumentado a sincronização entre múltiplos servidores, também é demorado e trabalhoso.
Criar um novo ObjectId
Use o seguinte código para gerar um novo ObjectId:
>newObjectId = ObjectId()
A declaração acima retorna o seguinte ID gerado exclusivamente:
ObjectId("5349b4ddd2781d08c09890f3")
Você também pode usar o ID gerado em vez de MongoDB gerado automaticamente ObjectId:
>myObjectId = ObjectId("5349b4ddd2781d08c09890f4")
documentos timestamp criação
Desde ObjectId armazenados em quatro bytes do carimbo de tempo, para que você não precisa salvar o campo timestamp para os seus documentos, você pode criar tempo para obter os documentos por função getTimestamp:
>ObjectId("5349b4ddd2781d08c09890f4").getTimestamp()
O código acima irá retornar o tempo de criação do documento formato ISO:
ISODate("2014-04-12T21:49:17Z")
ObjectId convertida para uma string
Em alguns casos, pode ser necessário para converter um formato ObjectId string. Você pode usar o seguinte código:
>new ObjectId().str
O código acima retornará o formato Guid cadeia ::
5349b4ddd2781d08c09890f3