ObjectId()
Descrição
ObjectId(<value>)
Importante
Método mongosh
Esta página documenta um método
mongosh
. Esta não é a documentação de um driver de idioma específico, como Node.js.Para drivers de API do MongoDB, consulte a documentação do driver do MongoDB específica da linguagem.
Retorna um novo ObjectId. O ObjectId de 12bytes consiste em:
Um carimbo de data/hora de bytes, representando a criação do ObjectID, medido em segundos desde a época do Unix.
Um valor aleatório de 5 bytes gerado uma vez por processo. Este valor aleatório é exclusivo da máquina e do processo.
Um contador incrementador de 3 bytes, inicializado para um valor aleatório.
Para valores de carimbo de data/hora e contador, os bytes mais significativos aparecem primeiro na sequência de bytes (big-endian). Isto é diferente de outros valores de BSON, onde os bytes menos significativos aparecem primeiro (little-endian).
Se um valor inteiro for usado para criar um ObjectId, o número inteiro substituirá o carimbo de data/hora.
Compatibilidade
Você pode utilizar o ObjectId()
para implantações hospedadas nos seguintes ambientes:
MongoDB Atlas: o serviço totalmente gerenciado para implantações do MongoDB na nuvem
MongoDB Enterprise: a versão autogerenciada e baseada em assinatura do MongoDB
MongoDB Community: uma versão com código disponível, de uso gratuito e autogerenciada do MongoDB
Sintaxe
ObjectId()
pode aceitar uma das seguintes entradas:
Tipo de entrada | Descrição |
---|---|
hexadecimal | Opcional. Um valor de string hexadecimal de 24 caracteres para o novo
ObjectId. |
integer | Opcional. O valor inteiro, em segundos, é adicionado à Era UNIX para criar o novo carimbo de data/hora. |
Métodos
ObjectId()
tem os seguintes métodos:
Métodos | Descrição |
---|---|
Retorna a parte do timestamp do objeto como uma Data. | |
Retorna o ObjectId como uma string hexadecimal. |
Comportamento
A partir do MongoDB 5.0, mongosh
substitui o shell legado mongo
. Os métodos ObjectId()
funcionam de maneira diferente em mongosh
e no shell mongo
herdado. Para obter mais informações sobre os métodos legados, consulte Legacy mongo Shell.
Exemplos
Gerar um novo ObjectId
Para gerar um novo ObjectId, use ObjectId()
sem argumento:
newObjectId = ObjectId()
Neste exemplo, o valor de newObjectId
é:
ObjectId("507f1f77bcf86cd799439011")
Retornar uma cadeia hexadecimal
Para retornar o ObjectId como uma string hexadecimal, use o método toString()
.
ObjectId("507f191e810c19729de860ea").toString()
O método retorna:
507f191e810c19729de860ea
Especifique uma data
Você pode usar uma data personalizada para especificar um ObjectId.
Defina seu novo ObjectId com timestamp
como argumento
Você pode verificar a data usando ObjectId.getTimestamp()
.
newObjectId = ObjectId(timestamp)
ObjectId("6592008029c8c3e4dc76256c")
Especificar uma string numérica
Se você deseja ajustar o carimbo de data/hora do ObjectId, use um número inteiro para gerar um novo ObjectId.
newObjectId = ObjectId(32)
O valor ObjectId é semelhante a:
ObjectId("00000020f51bb4362eee2a4d")
O exemplo ObjectId consiste em:
Um carimbo de tempo de quatro bytes,
00000020
Um elemento aleatório de cinco bytes,
f51bb4362e
Um contador de três bytes,
ee2a4d
Os primeiros quatro bytes do ObjectId são o número de segundos desde a Era UNIX. Neste exemplo, o carimbo de data/hora do ObjectId é 00000020
, que é 32
em hexadecimal.
Especifique uma cadeia hexadecimal
Se você quiser usar uma string hexadecimal para especificar um ObjectId, passe um valor hexadecimal único, de 24 caracteres, ao chamar ObjectId()
:
newObjectId = ObjectId("507f191e810c19729de860ea")