English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Nos capítulos anteriores, sempre usamos MongoDB ObjectId. Neste capítulo, vamos entender a estrutura do ObjectId.
ObjectId é um12o tipo BSON do byte, com a seguinte estrutura-
Os primeiros4um byte representa o número de segundos desde o novo era do Unix
Os próximos3um byte é o identificador do computador
Os próximos2um byte é composto pelo id do processo
Por fim3um byte é um valor de contador aleatório
O MongoDB usa ObjectIds como_id
O valor padrão de cada campo do documento, que é gerado ao criar qualquer documento. A combinação complexa de ObjectId garante que todos os campos _id sejam únicos.
Para gerar um novo ObjectId, use o seguinte código-
>newObjectId = ObjectId()
A frase acima retorna o seguinte id gerado exclusivamente-
ObjectId("5349b4ddd2781d08c09890f3)
Além de fornecer ObjectId gerado pelo MongoDB, você também pode fornecer12ID em bytes-
>myObjectId = ObjectId("5349b4ddd2781d08c09890f4)
Devido ao _id ObjectId armazenado por padrão4Timestamp em bytes, portanto, na maioria das vezes, você não precisa armazenar a data e hora de criação de qualquer documento. Você pode usar o método getTimestamp para obter a data e hora de criação do documento-
>ObjectId("5349b4ddd2781d08c09890f4).getTimestamp()
Isso retornará a data e hora de criação do documento no formato ISO-
ISODate("2014-04-12T21:49:17Z")
Em alguns casos, você pode precisar do valor ObjectId em formato de string. Para converter ObjectId em formato de string, use o seguinte código-
>newObjectId.str
O código acima retornará o formato de string Guid-
5349b4ddd2781d08c09890f3