Docs Menu
Docs Home
/ /
Constructores de objetos

ObjectId()

ObjectId(<value>)

Importante

Método mongosh

Este es un método.mongosh Esta no es la documentación de Node.js ni de otros métodos de controlador específicos del lenguaje de programación.

En la mayoría de los casos, los métodos funcionan de la misma manera que losmongosh heredados. mongo Métodos de shell. Sin embargo, algunos métodos heredados no están disponibles mongosh en.

Para obtener la documentación del shell heredado, consulte la documentación de la versión correspondiente de MongoDB mongo Server:

Para los controladores de la API de MongoDB, consultar la documentación específica del controlador de MongoDB para cada lenguaje.

Devuelve un nuevo ObjectId. El ObjectId de 12 bytes se compone de:

  • Una marca de tiempo de 4 bytes, que representa la creación del ObjectId, medida en segundos desde la Unix epoch.

  • Un valor aleatorio de 5 bytes generado una vez por proceso. Este valor aleatorio es único para la máquina y el proceso.

  • Un contador incremental de 3bytes, inicializado con un valor aleatorio.

Para los valores de marca de tiempo y contador, los bytes más significativos aparecen primero en la secuencia de bytes (big-endian). Esto es diferente de otros valores de BSON, donde los bytes menos significativos aparecen primero (little-endian).

Si se utiliza un valor entero para crear un ObjectId, el entero reemplaza la marca de tiempo.

Puedes usar ObjectId() para implementaciones alojadas en los siguientes entornos:

  • MongoDB Atlas: El servicio totalmente gestionado para implementaciones de MongoDB en la nube

  • MongoDB Enterprise: La versión basada en suscripción y autogestionada de MongoDB

  • MongoDB Community: La versión de MongoDB con código fuente disponible, de uso gratuito y autogestionada.

ObjectId() puede aceptar una de las siguientes entradas:

Tipo de entrada
Descripción

hexadecimal

Opcional. Un valor de string hexadecimal de 24 caracteres para el nuevo ObjectId.

integer

ObjectId() tiene los siguientes métodos:

Métodos
Descripción

Devuelve la parte de marca de tiempo del objeto como una fecha.

Devuelve el ObjectId como un string hexadecimal.

A partir de MongoDB 5.0, mongosh reemplaza el shell heredado mongo. Los métodos ObjectId() funcionan de manera diferente en mongosh que en el shell mongo heredado. Para más información sobre los métodos heredados, consultar el Shell mongo heredado.

Para generar un nuevo ObjectId, utilice ObjectId() sin argumento:

newObjectId = ObjectId()

En este ejemplo, el valor de newObjectId es:

ObjectId("507f1f77bcf86cd799439011")

Para devolver el ObjectId como una string hexadecimal, utiliza el método toString().

ObjectId("507f191e810c19729de860ea").toString()

El método devuelve:

507f191e810c19729de860ea

Puede usar una fecha personalizada para especificar un ObjectId.

1

Internamente, los objetos de fecha se almacenan como un entero con signo de 64bits que representa el número de milisegundos desde la Unix epoch. Para obtener más información, consulte Date().

myDate = new Date( "2024-01-01" )
2
timestamp = Math.floor( myDate / 1000 )
3

Puede verificar la fecha mediante ObjectId.getTimestamp().

newObjectId = ObjectId(timestamp)
ObjectId("6592008029c8c3e4dc76256c")

Si deseas ajustar la marca de tiempo del ObjectId, utiliza un número entero para generar un nuevo ObjectId.

newObjectId = ObjectId(32)

El valor de ObjectId es similar a:

ObjectId("00000020f51bb4362eee2a4d")

El ObjectId del ejemplo se compone de:

  • Una marca de tiempo de cuatro bytes, 00000020

  • Un elemento aleatorio de cinco bytes, f51bb4362e

  • Un contador de tres bytes, ee2a4d

Los primeros cuatro bytes del ObjectId son el número de segundos desde la Unix epoch. En este ejemplo, la marca de tiempo del ObjectId es 00000020, que es 32 en hexadecimal.

Si desea usar un string hexadecimal para especificar un ObjectId, pase un valor hexadecimal único de 24 caracteres al llamar a ObjectId():

newObjectId = ObjectId("507f191e810c19729de860ea")

Tip

Volver

fecha

En esta página