Descripción
ObjectId(<value>)Importante
Método mongosh
Este es un método.
mongoshEsta no es la documentación deNode.jsni 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 los
mongoshheredados.mongoMétodos de shell. Sin embargo, algunos métodos heredados no están disponiblesmongoshen.Para obtener la documentación del shell heredado, consulte la documentación de la versión correspondiente de MongoDB
mongoServer: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.
Compatibilidad
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.
Sintaxis
ObjectId() puede aceptar una de las siguientes entradas:
Tipo de entrada | Descripción |
|---|---|
| Opcional. Un valor de string hexadecimal de 24 caracteres para el nuevo ObjectId. |
| Opcional. El valor entero, en segundos, se añade a la época de Unix. para crear la nueva marca de tiempo. |
Métodos
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. |
Comportamiento
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.
Ejemplos
Generar un nuevo ObjectId
Para generar un nuevo ObjectId, utilice ObjectId() sin argumento:
newObjectId = ObjectId()
En este ejemplo, el valor de newObjectId es:
ObjectId("507f1f77bcf86cd799439011")
Devuelva un string hexadecimal
Para devolver el ObjectId como una string hexadecimal, utiliza el método toString().
ObjectId("507f191e810c19729de860ea").toString()
El método devuelve:
507f191e810c19729de860ea
Especifique una fecha
Puede usar una fecha personalizada para especificar un ObjectId.
Establezca una variable para su fecha especificada
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" )
Establezca su nuevo ObjectId con timestamp como argumento
Puede verificar la fecha mediante ObjectId.getTimestamp().
newObjectId = ObjectId(timestamp)
ObjectId("6592008029c8c3e4dc76256c")
Especifique un string de número entero
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,
00000020Un elemento aleatorio de cinco bytes,
f51bb4362eUn 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.
Especifique una string 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")