Descrição
ObjectId(<value>)Importante
Método mongosh
Este é um método
mongosh. Esta não é a documentação deNode.jsou de outros métodos de driver específicos da linguagem de programação.Na maioria dos casos, os métodos
mongoshfuncionam da mesma forma que os métodos legado do shellmongo. No entanto, alguns métodos legado não estão disponíveis emmongosh.Para a documentação do shell legado
mongo, consulte a documentação para a release correspondente do MongoDB Server:Para drivers da API do MongoDB, consulte a documentação do driver do MongoDB específica do idioma.
Retorna um novo ObjectId. O ObjectId de 12 bytes 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 |
|---|---|
| Opcional. Um valor de string hexadecimal de 24 caracteres para o novo ObjectId. |
| 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 o 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,
00000020Um elemento aleatório de cinco bytes,
f51bb4362eUm contador de três bytes,
ee2a4d
Os primeiros quatro bytes do ObjectId são o número de segundos desde a Unix epoch. 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")