Todo Las funciones tienen acceso a módulos globales integrados que apoyan tareas comunes de transformación de datos, codificación y procesamiento. Puedes acceder a los módulos de tu código fuente de función mediante variables globales específicas de cada módulo.
Tip
Estos módulos globales no son los mismos que los módulos de funcionalidad incorporada de Node.js. Para obtener más información sobre los módulos compatibles de Node.js, incluyendo cómo importarlos, consulta Soporte de módulos incorporados.
Module | Descripción |
|---|---|
Métodos para leer y guardar Tokens Web JSON. | |
Métodos que implementan algoritmos criptográficos como hash y firmas. | |
Métodos que convierten entre representaciones de cadenas y objetos de JSON data. | |
Métodos que convierten entre representaciones de string y objetos de datos JSON extendido. | |
Métodos que crean Binary JSON objetos y convierten entre varios tipos de datos BSON y codificaciones. |
JSON Web Tokens (utils.jwt)
Puedes crear y leer JSON Web Tokens con la interfaz de utils.jwt.
Método | Descripción |
|---|---|
Genera una JSON web token string codificada para un | |
Decodifica |
utils.jwt.encode()
Genera una cadena de token web JSON codificada para payload en función de signingMethod y secret especificados.
utils.jwt.encode( signingMethod: string, payload: object, secret: string, customHeaderFields: object ): string
Parameter | Tipo | Descripción |
|---|---|---|
| string | El algoritmo criptográfico a utilizar al codificar el JWT. Atlas es compatible con los siguientes métodos de firma JWT:
|
| Objeto | Un objeto JSON que especifica las reclamaciones del token y cualquier dato adicional relacionado. |
| string | Una string secreta que Atlas utiliza para firmar el token. El valor de la string depende del método de firma que utilices:
|
| Objeto | Un objeto JSON que especifica campos adicionales para incluir en el encabezado JOSE de JWT. |
Devuelve
Retorna una string JSON Web Token codificada para el payload proporcionado.
Considere el siguiente objeto de claims JWT:
{ "sub": "1234567890", "name": "Joe Example", "iat": 1565721223187 }
Podemos codificar el objeto de reclamaciones como una cadena JWT llamando a utils.jwt.encode(). La siguiente función codifica el JWT utilizando el método de firma HS512 y el secreto "SuperSecret":
exports = function() { const signingMethod = "HS512"; const payload = { "sub": "1234567890", "name": "Joe Example", "iat": 1565721223187 }; const secret = "SuperSecret"; return utils.jwt.encode(signingMethod, payload, secret); }
"eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvZSBTY2htb2UiLCJpYXQiOjE1NjU3MjEyMjMxODd9.-QL15ldu2BYuJokNWT6YRiwZQIiIpvq6Kyv-C6qslNdNiUVxo8zqLJZ1iEkNf2yZKMIrQuMCtIC1tzd2H31AxA"
utils.jwt.decode()
Decodifica el payload de la string proporcionada del JSON Web Token. El valor de key debe coincidir con el valor secreto que se utilizó para codificar la string JWT.
utils.jwt.decode( jwtString: string, key: string, returnHeader: boolean ): object
Parameter | Tipo | Descripción |
|---|---|---|
| string | Una cadena de JSON Web Token que codifica un conjunto de claims firmados con un valor secreto. |
| string | Una string que Atlas utiliza para verificar la firma del token. El valor de la string depende del método de firma que utilices:
|
| booleano | Si |
| string[] | opcional. Arreglo de métodos de firma aceptados. Por ejemplo, |
Devuelve
Si returnHeader es false, devuelve la carga de EJSON decodificada.
Si returnHeader es true, devuelve un objeto que contiene la cabecera JOSE en el campo header y la carga útil decodificada en formato EJSON en el campo payload.
{ "header": { "<JOSE Header Field>": <JOSE Header Value>, ... }, "payload": { "<JWT Claim Field>": <JWT Claim Value>, ... } }
Considera la siguiente JWT firmada string:
"eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvZSBTY2htb2UiLCJpYXQiOjE1NjU3MjEyMjMxODd9.-QL15ldu2BYuJokNWT6YRiwZQIiIpvq6Kyv-C6qslNdNiUVxo8zqLJZ1iEkNf2yZKMIrQuMCtIC1tzd2H31AxA"
El JWT se firmó utilizando el método de firma HS512 con el valor secreto "SuperSecret". Podemos decodificar el objeto de claims utils.jwt.decode() del JWT. La siguiente función decodifica la JWT string en un objeto EJSON:
exports = function(jwtString) { const key = "SuperSecret"; return utils.jwt.decode(jwtString, key, false, ["HS512"]); }
{ "sub": "1234567890", "name": "Joe Example", "iat": { "$numberDouble": 1565721223187 } }
Criptografíautils.crypto ()
Puede cifrar, descifrar, firmar y verificar datos utilizando algoritmos criptográficos con la interfaz utils.crypto.
Método | Descripción |
|---|---|
Genera una string cifrada a partir de una string dada usando un método de cifrado específico y una clave. | |
Descifra una string proporcionada utilizando un método de cifrado y una clave específicos. | |
Genera una firma criptográficamente única para un mensaje dado mediante una clave privada. | |
Verifica que una firma sea válida para un mensaje y clave pública especificados. | |
Genera una firma HMAC a partir de una entrada y un secreto determinados. | |
Genera un valor hash para una entrada y una función hash determinadas. |
utils.crypto.encrypt()
Genera un string de texto cifrado a partir del texto proporcionado utilizando el método de cifrado y la clave especificados.
utils.crypto.encrypt( encryptionType: string, message: string, key: string ): BSON.Binary
Parameter | Tipo | Descripción |
|---|---|---|
| string | El tipo de cifrado con el que se cifrará el mensaje. Se admiten los siguientes tipos de cifrado:
|
| string | La string de texto que deseas cifrar. |
| string | Una clave criptográfica utilizada para cifrar el texto. La llave que debes usar depende del método de cifrado:
|
Devuelve
Un BSON Binario objeto que contiene la string cifrada con el tipo de cifrado especificado y la clave.
Assume that we have defined a value named aesEncryptionKey that contains the following 32-byte AES encryption key:
"603082712271C525E087BD999A4E0738"
Con esta clave AES, podemos cifrar un mensaje en una string base64 utilizando la siguiente función:
exports = function() { const message = "MongoDB is great!" const key = context.values.get("aesEncryptionKey"); const encryptedMessage = utils.crypto.encrypt("aes", message, key); return encryptedMessage.toBase64(); }
"WPBuIvJ6Bity43Uh822dW8QlVYVJaFUiDeUjlTiJXzptUuTYIKPlXekBQAJb"
utils.crypto.decrypt()
Décrypte la string de texte fournie à l’aide du type de cifrado et de la clé spécifiés. Si tanto el tipo de cifrado como la clave son los mismos que se usaron para cifrar, esto devuelve el texto original, sin cifrar.
utils.crypto.decrypt( encryptionType: string, encryptedMessage: BSON.Binary, key: string ): BSON.Binary
Parameter | Tipo | Descripción |
|---|---|---|
| string | El tipo de cifrado que se utilizó para cifrar el texto proporcionado. Se admiten los siguientes tipos de cifrado:
|
| Un BSON binario que codifica la string de texto cifrada que deseas descifrar. | |
| string | Una clave criptográfica utilizada para descifrar el texto. La clave que debe usar depende del tipo de cifrado:
|
Devuelve
Un objeto BSON Binario que contiene el mensaje descifrado.
Si el mensaje cifrado proporcionado se cifró con el método y clave especificados, entonces el mensaje descifrado es idéntico al mensaje original.
Supongamos que hemos definido un Value llamado aesEncryptionKey que contiene la siguiente llave de cifrado AES de 32bytes:
"603082712271C525E087BD999A4E0738"
Podemos usar esta clave AES para descifrar cualquier cadena base64 que haya sido cifrada con la misma clave utilizando la siguiente función:
exports = function(encryptedMessage) { // The encrypted message must be a BSON.Binary if(typeof encryptedMessage === "string") { encryptedMessage = BSON.Binary.fromBase64(encryptedMessage) } const key = context.values.get("aesEncryptionKey"); const decryptedMessage = utils.crypto.decrypt("aes", encryptedMessage, key); return decryptedMessage.text(); }
"MongoDB is great!"
utils.crypto.sign()
Genera una firma criptográficamente única para un mensaje utilizando una clave privada. La firma puede ser verificada con la llave pública correspondiente para asegurar que el firmante tenga acceso a la llave privada y que el contenido del mensaje no haya sido alterado desde que fue firmado.
utils.crypto.sign( encryptionType: string, message: string, privateKey: string, signatureScheme: string ): BSON.Binary
Parameter | Tipo | Descripción | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| string | El tipo de cifrado que se utilizó para generar el par de claves privadas/públicas. Se admiten los siguientes tipos de cifrado:
| ||||||||
| string | La string que deseas firmar. | ||||||||
| string | Una clave privada generada con el tipo de cifrado especificado. ¡Importante! No todas las claves RSA usan el mismo formato. Atlas solo puede firmar mensajes con una llave privada que se ajuste al formato estándar PKCS#1. Las claves privadas en este formato tienen el encabezado Puede utilizar el siguiente script de shell para generar un par de claves privadas/públicas RSA válido y guardar cada clave en su propio archivo de texto: | ||||||||
| string | Opcional. Por defecto: El esquema de padding que la firma debe utilizar. Atlas admite la firma de mensajes con los siguientes esquemas:
|
Devuelve
Un BSON.Binary firma criptográfica para el mensaje firmado usando la llave privada especificada.
Supongamos que hemos definido un valor llamado rsaPrivateKey que contiene la siguiente llave privada RSA:
-----BEGIN RSA PRIVATE KEY----- MIICXAIBAAKBgQDVsEjse2qO4v3p8RM/q8Rqzloc1lee34yoYuKZ2cemuUu8Jpc7 KFO1+aJpXdbSPZNhGLdANn8f2oMIZ1R9hgEJRn/Qm/YyC4RPTGg55nzHqSlziNZJ JAyEUyU7kx5+Kb6ktgojhk8ocZRkorM8FEylkrKzgSrfay0PcWHPsKlmeQIDAQAB AoGAHlVK1L7kLmpMbuP4voYMeLjYE9XdVEEZf2GiFwLSE3mkJY44033y/Bb2lgxr DScOf675fFUAEK59ATlhxfu6s6rgx+g9qQQ+mL74YZWPqiZHBPjyMRaBalDVC4QF YJ+DopFcB8hY2ElXnbK70ALmVYNjw3RdmC97h0YfOsQcWW0CQQD18aeuPNicVnse Ku22vvhvQYlabaQh4xdkEIxz1TthZj48f61wZwEMipYqOAc5XEtDlNnxgeipv0yF RHstUjwXAkEA3m0Br/U/vC9evuXppWbONana08KLgfELyd3Uw9jG7VKJZTBH5mS8 7CB68aEF8egrJpo8Ss8BkWrvCxYDb4Y77wJAUlbOMZozVtvpKidrIFR9Lho91uWA Hsw9h4W20AzibXBig7SnJ0uE4WMAdS/+0yhgFkceVCmO8E2YW8Gaj4jJjwJASxtg AHy+ItuUEL4uIW4Pn8tVW0BMP3qX0niXyfI/ag/+2S5uePv3V3y4RzNqgH83Yved +FziWKpVQdcTHeuj/QJBAJl1G3WFruk0llIoKKbKljaEiCm1WCTcuEPbdOtkJYvO 9ZYQg/fji70FERkq2KHtY7aLhCHzy0d4n9xgE/pjV+I= -----END RSA PRIVATE KEY-----
Con esta clave RSA, podemos firmar un mensaje usando la siguiente función:
exports = function() { const message = "MongoDB is great!" const rsaPrivateKey = context.values.get("rsaPrivateKey"); const signature = utils.crypto.sign("rsa", message, rsaPrivateKey, "pss"); return signature.toBase64(); }
"SpfXcJwPbypArt+XuYQyuZqU52YCAY/sZj2kiuin2b6/RzyM4Ek3n3spOtqZJqxn1tfQavxIX4V+prbs74/pOaQkCLekl9Hoa1xOzSKcGoRd8U+n1+UBY3d3cyODGMpyr8Tim2HZAeLPE/D3Q36/K+jpgjvrJFXsJoAy5/PV7iEGV1fkzogmZtXWDcUUBBTTNPY4qZTzjNhL4RAFOc7Mfci+ojE/lLsNaumUVU1/Eky4vasmyjqunm+ULCcRmgWtGDMGHaQV4OXC2LMUe9GOqd3Q9ghCe0Vlhn25oTh8cXoGpd1Fr8wolNa//9dUqSM+QYDpZJXGLShX/Oa8mPwJZKDKHtqrS+2vE6S4dDWR7zKDza+DeovOeCih71QyuSYMXSz+WWGgfLzv/syhmUXP/mjqgLmJU6Kwg5htajDoylpzLC0BLGT4zDZEwBrq/AjwRs/EPjYdFgGCt1WCbbVlDyXvvH1ekDrzACzumhiMSZNNa+ZH3JmMJxTCQWDfiTeAfkauaaZHKIj2q2/QE7vuAhNcVPJ2YgpXnvnQHJpEZBc/Y3Q6JLxom6+cGC4P//9d++r2cwzXIkqD+wSGZVSVtpm5CLtWMRSK5FX2dv16bM+LE8ozoRvtMUDTrQ8SSSDGxyuYbvN9b2fYYPcWpCMchqOBXV6eZGoMldaHX3Qy5h8="
utilidades.crypto.verify()
Verifica que la firma proporcionada sea válida para el mensaje y la clave pública especificados.
Si la firma es válida, garantiza que el firmante tiene acceso a la clave privada correspondiente y que el contenido del mensaje no ha sido alterado desde que fue firmado.
utils.crypto.verify( encryptionType: string, message: string, publicKey: string, signature: BSON.Binary, signatureScheme: string ): boolean
Parameter | Tipo | Descripción | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| string | El tipo de cifrado que se utilizó para generar el par de claves privadas/públicas. Se admiten los siguientes tipos de cifrado:
| ||||||||
| string | La cadena de texto para la que desea verificar la firma. Si la firma es válida, este es exactamente el mensaje que fue firmado. | ||||||||
| string | La clave pública para la que se desea verificar la firma. Si la firma es válida, esta es la clave pública correspondiente a la clave privada que se usó para firmar el mensaje. ¡Importante! No todas las claves RSA usan el mismo formato. Atlas solo puede verificar firmas con claves RSA que cumplan con el formato estándar PKCS#.1 Las claves públicas en este formato tienen el Puede utilizar el siguiente script de shell para generar un par de claves privadas/públicas RSA válido y guardar cada clave en su propio archivo de texto: | ||||||||
| La firma que desea verificar. | |||||||||
| string | Opcional. Por defecto: El esquema de relleno que utiliza la firma. Atlas admite la verificación de firmas que utilizan los siguientes esquemas:
|
Devuelve
Un booleano que, si true, indica si la firma es válida o no para el mensaje y llave pública proporcionados.
Hemos recibido un mensaje con una firma en formato BSON.Binary y queremos verificar que el mensaje fue firmado con la clave privada que corresponde a la clave pública RSA del remitente:
-----BEGIN RSA PUBLIC KEY----- MIGJAoGBANWwSOx7ao7i/enxEz+rxGrOWhzWV57fjKhi4pnZx6a5S7wmlzsoU7X5 omld1tI9k2EYt0A2fx/agwhnVH2GAQlGf9Cb9jILhE9MaDnmfMepKXOI1kkxDIRT JTuTHn4pvqS2CiOGTyhxlGSiszwUTKWSsrOBKt9rLQ9xYc+wqWZ5AgMBAAE= -----END RSA PUBLIC KEY-----
Con esta clave RSA, podemos verificar un mensaje firmado con la llave privada correspondiente usando la siguiente función:
exports = function() { const rsaPublicKey = context.values.get("rsaPublicKey"); const message = "MongoDB is great!" const signature = BSON.Binary.fromBase64("SpfXcJwPbypArt+XuYQyuZqU52YCAY/sZj2kiuin2b6/RzyM4Ek3n3spOtqZJqxn1tfQavxIX4V+prbs74/pOaQkCLekl9Hoa1xOzSKcGoRd8U+n1+UBY3d3cyODGMpyr8Tim2HZAeLPE/D3Q36/K+jpgjvrJFXsJoAy5/PV7iEGV1fkzogmZtXWDcUUBBTTNPY4qZTzjNhL4RAFOc7Mfci+ojE/lLsNaumUVU1/Eky4vasmyjqunm+ULCcRmgWtGDMGHaQV4OXC2LMUe9GOqd3Q9ghCe0Vlhn25oTh8cXoGpd1Fr8wolNa//9dUqSM+QYDpZJXGLShX/Oa8mPwJZKDKHtqrS+2vE6S4dDWR7zKDza+DeovOeCih71QyuSYMXSz+WWGgfLzv/syhmUXP/mjqgLmJU6Kwg5htajDoylpzLC0BLGT4zDZEwBrq/AjwRs/EPjYdFgGCt1WCbbVlDyXvvH1ekDrzACzumhiMSZNNa+ZH3JmMJxTCQWDfiTeAfkauaaZHKIj2q2/QE7vuAhNcVPJ2YgpXnvnQHJpEZBc/Y3Q6JLxom6+cGC4P//9d++r2cwzXIkqD+wSGZVSVtpm5CLtWMRSK5FX2dv16bM+LE8ozoRvtMUDTrQ8SSSDGxyuYbvN9b2fYYPcWpCMchqOBXV6eZGoMldaHX3Qy5h8=") const isValid = utils.crypto.verify("rsa", message, rsaPublicKey, signature, "pss"); return isValid; // true if the signature matches, else false }
true
utils.crypto.hmac()
Genera un HMAC de la entrada y la clave secreta proporcionadas. Esto es útil al comunicarse con servicios HTTP de terceros que requieren solicitudes firmadas.
utils.crypto.hmac( input: string, secret: string, hash_function: string, output_format: string ): string
Parameter | Tipo | Descripción |
|---|---|---|
| string | La entrada para la que desea generar una firma. |
| string | La clave secreta a utilizar al generar la firma. |
| string | El nombre de la función de hash que se utilizará al generar la firma. Se admiten las siguientes funciones: |
| string | El formato de la firma generada. Puede ser |
Devuelve
La firma de la entrada, en el formato especificado por output_format.
La siguiente función genera una firma sha256 como una cadena base 64:
exports = function() { const signature = utils.crypto.hmac( "hello!", "super-secret", "sha256", "base64" ) return signature }
"SUXd6PRMaTXXgBGaGsIHzaDWgTSa6C3D44lRGrvRak0="
utilidades.crypto.hash()
Genera un valor de hash para la entrada proporcionada utilizando la función de hash especificada.
utils.crypto.hash( hash_function: string, input: string | BSON.Binary ): BSON.Binary
Parameter | Tipo | Descripción |
|---|---|---|
| string | El nombre de la función de hash. Se admiten las siguientes funciones: |
| string o BSON.Binary | Obligatorio. La entrada para la que desea generar un valor hash. |
Devuelve
Un objeto BSON.Binary que codifica el valor hash de la entrada proporcionada generada por la función hash especificada.
La siguiente función convierte una cadena de entrada en hash sha256:
exports = function() { return utils.crypto.hash( "sha256", "hello!" ) }
"zgYJL7lI2f+sfRo3bkBLJrdXW8wR7gWkYV/vT+w6MIs="
JSON (Notación de Objetos de JavaScript)
El módulo global JSON proporciona métodos JSON para serializar y deserializar objetos estándar de JavaScript.
Método | Descripción |
|---|---|
Analiza una string JSON serializada en un objeto de JavaScript. | |
Serializa un objeto JavaScript en una string JSON. |
JSON.parse()
Analiza la string JSON proporcionada y la convierte en un objeto de JavaScript.
JSON.parse(jsonString: string): object
Parameter | Tipo | Descripción |
|---|---|---|
| Una representación de cadena serializada de un objeto JSON estándar. |
Devuelve
Un objeto estándar de JavaScript generado a partir del string JSON suministrado.
La siguiente función convierte una cadena JSON serializada a un objeto JavaScript equivalente:
exports = function() { const jsonString = `{ "answer": 42, "submittedAt": "2020-03-02T16:50:24.475Z" }`; return JSON.parse(jsonString); }
{ "answer": 42, "submittedAt": "2020-03-02T16:50:24.475Z" }
JSON.stringify()
Serializa el objeto JavaScript proporcionado en una string JSON.
JSON.stringify(json: object): string
Parameter | Tipo | Descripción |
|---|---|---|
|
Devuelve
Una representación de cadena del objeto JavaScript proporcionado.
La siguiente función serializa un objeto JavaScript en una cadena JSON equivalente:
exports = function() { const jsonObject = { answer: 42, submittedAt: new Date("2020-03-02T16:46:47.977Z") }; return JSON.stringify(jsonObject); }
"{\"answer\":42,\"submittedAt\":\"2020-03-02T16:46:47.977Z\"}"
EJSON (JSON extendido)
El módulo global EJSON es similar a JSON pero conserva información adicional sobre los tipos de Extended JSON.
EJSON es un superconjunto del JSON estándar que agrega soporte adicional para tipos que están disponibles en BSON pero que no están incluidos en la especificación JSON.
Método | Descripción |
|---|---|
Analizar una cadena JSON extendida serializada en un objeto JavaScript. | |
Serializar un objeto JavaScript en un string ExtendedJSON. |
EJSON.parse()
Analiza la cadena EJSON proporcionada y la convierte en un objeto JavaScript.
EJSON.parse(ejsonString: string): object
Parameter | Tipo | Descripción |
|---|---|---|
ejsonString | string | Un string serializado que representa un objeto Extended JSON. |
Devuelve
Una representación de objeto JavaScript de la string EJSON proporcionada.
La siguiente función convierte una string EJSON serializada en un objeto JavaScript equivalente:
exports = function() { const ejsonString = `{ "answer": { "$numberLong": "42" }, "submittedAt": { "$date": { "$numberLong": "1583167607977" } } }`; return EJSON.parse(ejsonString); }
{ "answer": { "$numberLong": "42" }, "submittedAt": { "$date": { "$numberLong": "1583167607977" } } }
EJSON.stringify()
Serializa el objeto JavaScript proporcionado a una cadena EJSON.
EJSON.stringify(json: object): string
Parameter | Tipo | Descripción |
|---|---|---|
| Documento | Un objeto EJSON. El objeto puede contener tipos BSON. |
Devuelve
Una representación de cadena del objeto EJSON proporcionado.
La siguiente función serializa un objeto JavaScript en una string EJSON equivalente:
exports = function() { const jsonObject = { answer: 42, submittedAt: new Date("2020-03-02T16:46:47.977Z") }; return EJSON.stringify(jsonObject); }
"{\"answer\":{\"$numberLong\":\"42\"},\"submittedAt\":{\"$date\":{\"$numberLong\":\"1583167607977\"}}}"
BSON (JSON binario)
El módulo global BSON permite crear objetos BSON tipados y convertirlos entre varios formatos y codificaciones de datos.
BSON, o JSON Binario, es el formato de datos que las bases de datos MongoDB utilizan internamente. Codifica una representación binaria de las estructuras de datos del documento utilizando un superconjunto de los tipos estándar de JSON. Para obtener más información, consulta la especificación BSON.
Tipo | Descripción |
|---|---|
Representar un valor de ObjectId | |
Representa una expresión regular | |
Representar una estructura de datos binaria | |
Representa un valor que se compara con otros valores más altos que todos los demás | |
Representa un valor que se compara por debajo de todos los demás valores | |
Representa un entero con signo de 32 bits | |
Representa un entero con signo de 64 bits | |
Representa un número de punto flotante de 64 bits | |
Representa un número de punto flotante de 128 bits |
BSON.ObjectId
El tipo BSON.ObjectId representa un identificador MongoDB ObjectId de 12 bytes.
Construye un BSON.ObjectId objeto que codifica un ObjectId
new BSON.ObjectId(id: string)
Parameter | Tipo | Descripción |
|---|---|---|
| string | Optional. A 12-byte string or a string of 24 hex characters. |
Devuelve
Un BSON.ObjectId objeto que codifica la cadena ObjectId especificada o una ObjectId cadena generada si no se especificó ninguna.
const objectId = new BSON.ObjectId("5e58667d902d38559c802b13"); const generatedObjectId = new BSON.ObjectId();
BSON.BSONRegExp
El tipo BSON.BSONRegExp representa una expresión regular. Puede usar un BSON.BSONRegExp objeto con el $regex operador del query para realizar una query de expresión regular en una colección MongoDB.
Construye un objeto BSON.BSONRegExp a partir de una string de expresión regular. Puede especificar opcionalmente banderas de configuración.
BSON.BSONRegExp(pattern: string, flags: string)
Parameter | Tipo | Descripción |
|---|---|---|
| string | Un patrón de expresión regular. |
| string | opcional. Uno o más banderas de expresiones regulares. |
Devuelve
Un BSON.BSONRegExp objeto que codifica el patrón y las banderas de la expresión regular proporcionada.
const regex = BSON.BSONRegExp("the great", "ig");
BSON.Binary
El tipo BSON.Binary representa una string de datos codificada en binario.
BSON.Binario.deHex()
Construye un objeto BSON.Binary a partir de datos representados como una cadena hexadecimal.
BSON.Binary.fromHex( hexString: string, subType?: number ): BSON.Binary
Parameter | Tipo | Descripción |
|---|---|---|
| string | Una alineación a bytes string de caracteres hexadecimales (0-9 y A-F). |
| entero | opcional. El tipo de datos codificados en la string hexadecimal. El valor debe estar en el rango 0-255 donde |
Devuelve
Un objeto BSON.Binary que codifica la cadena hexadecimal proporcionada.
const binary = BSON.Binary.fromHex("54657374206d65737361676520706c656173652069676e6f7265=");
BSON.Binary.prototype.toHex()
Convierte el objeto BSON.Binary en una cadena hexadecimal.
BSON.Binary.prototype.toHex(): string
Devuelve
Una representación de cadena hexadecimal del objeto BSON.Binary proporcionado.
export = function() { const binary = BSON.Binary.fromHex( "54657374206d65737361676520706c656173652069676e6f7265=" ); const hexString = binary.toHex(); return hexString }
"54657374206d65737361676520706c656173652069676e6f7265="
BSON.Binary.fromBase64()
Construye un objeto BSON.Binary a partir de datos representados como una cadena base64.
BSON.Binary.fromBase64( base64String: string, subType?: number ): BSON.Binary
Parameter | Tipo | Descripción |
|---|---|---|
| string | Una string de caracteres codificados en base64. Nota: La string codificada en base64debe incluir uno o dos signos de igual ( |
| entero | opcional. El tipo de datos codificados en la string hexadecimal. El valor debe estar en el rango 0-255 donde |
Devuelve
Un objeto BSON.Binary que codifica la string base64 proporcionada.
const binary = BSON.Binary.fromBase64("VGVzdCBtZXNzYWdlIHBsZWFzZSBpZ25vcmU=");
BSON.Binary.prototype.toBase64()
Convierte un objeto BSON.Binary en una cadena base64.
BSON.Binary.prototype.toBase64(): string
Devuelve
Una representación de cadena base64 del objeto BSON.Binary.
const binary = BSON.Binary.fromBase64("VGVzdCBtZXNzYWdlIHBsZWFzZSBpZ25vcmU="); const base64String = binary.toBase64();
BSON.Binary.prototype.text()
Converts the BSON.Binary object into a UTF-8 string.
BSON.Binary.prototype.text(): string
Devuelve
Una representación de cadena UTF-8 del objeto BSON.Binary proporcionado.
const binary = BSON.Binary.fromBase64("VGVzdCBtZXNzYWdlIHBsZWFzZSBpZ25vcmU="); const decodedString = binary.text();
BSON.Clave máxima
El tipo BSON.MaxKey representa un valor que se compara como superior a todos los demás valores BSON.
await collection.findOne({ date: { $lt: BSON.MaxKey } });
BSON.MinKey
El tipo BSON.MinKey representa un valor que se compara como inferior a todos los demás valores BSON.
await collection.findOne({ date: { $gt: BSON.MinKey } });
BSON.Int32
El tipo BSON.Int32 representa un entero con signo de 32 bits.
BSON.Int32()
Construye un objeto BSON.Int32 a partir de un número de 32 bits.
BSON.Int32(low32: number): BSON.Int32
Parameter | Tipo | Descripción |
|---|---|---|
| Número | Un número de 32 bits. |
Devuelve
Un objeto BSON.Int32 que codifica el entero especificado. Devuelve 0 si no se suministran argumentos.
const int32 = BSON.Int32(42);
BSON.Long
El tipo BSON.Long representa un entero con signo de 64 bits.
const long = BSON.Long(600206158, 342);
BSON.Long(bajo32, alto32)
BSON.Long(low32: number, high32: number): BSON.Long
Constructs a BSON.Long object from two 32-bit integers that represent the low 32 bits and the high 32 bits in the 64-bit Long integer.
Parameter | Tipo | Descripción |
|---|---|---|
| entero | Optional. The long integer's 32 low bits. These bits represent the least significant digits of the number. |
| entero | Opcional. Los 32 bits más altos del número entero largo. Estos bits representan los dígitos más significativos del número. |
Devuelve
Un objeto BSON.Long que codifica el entero especificado. Devuelve 0 si no se suministran argumentos.
BSON.Long codifica usando la siguiente fórmula:
(high32 * (2**32)) + low32
BSON.Double
El tipo BSON.Double representa un número de punto flotante de 64bits (8bytes). Crea un objeto BSON.Double a partir de un valor decimal de 64bits.
Importante
Utilizar Decimal128 para Dinero
BSON.Double está sujeto a errores de redondeo en coma flotante, por lo que no se recomienda para casos de uso donde los valores decimales deban redondearse exactamente, por ejemplo, datos financieros. Para estos casos, use BSON.Decimal128 en su lugar.
BSON.Double(double: number): BSON.Double
Parameter | Tipo | Descripción |
|---|---|---|
| Número | Un valor decimal de 64 bits. |
Devuelve
Un objeto BSON.Double que codifica el double especificado. Devuelve 0 si no se suministra ningún argumento.
const double = BSON.Double(1234.5678);
BSON.Decimal128
El tipo BSON.Decimal128 representa un número de punto flotante de 128 bits (16 bytes). Este tipo está destinado para casos de uso en donde los valores decimales deben redondearse exactamente, por ejemplo, datos financieros.
Construye un BSON.Decimal128 a partir de una representación de string de un número decimal.
BSON.Decimal128(decimalString: string): BSON.Decimal128
Parameter | Tipo | Descripción |
|---|---|---|
| string | Una cadena que representa un número decimal, por ejemplo |
Devuelve
Un BSON.Decimal128 que codifica el valor decimal proporcionado.
const double = BSON.Decimal128.fromString("1234.5678910123456");