Docs Menu
Docs Home
/ /

Trabajar con datos BSON

En esta guía, puede aprender a crear documentos BSON, leer BSON desde un archivo y escribir BSON en un archivo utilizando el controlador Node.js.

BSON, o JSON binario, es el formato de datos que MongoDB utiliza para organizar y almacenar datos. Puede usar documentos BSON en su aplicación JavaScript importando el paquete BSON.

Los ejemplos de código de esta guía utilizan el siguiente documento BSON como ejemplo:

{
"address" : {
"street" : "Pizza St",
"zipcode" : "10003"
},
"coord" : [-73.982419, 41.579505],
"cuisine" : "Pizza",
"name" : "Mongo's Pizza"
}

Nota

Utilice el paquete BSON del controlador Node.js

Recomendamos usar el paquete BSON incluido con el controlador para evitar problemas de compatibilidad con otros paquetes BSON. Puede importar el paquete BSON del controlador Node.js con la siguiente declaración de importación:

import { BSON } from 'mongodb';

BSON admite todos los tipos de estructuras de datos JSON y agrega soporte para tipos que incluyen fechas y números enteros de diferentes tamaños. ObjectIdy datos binarios. Para obtener una lista completa de los tipos admitidos, consulte Página Tipos BSON en el Manual del servidor MongoDB.

El controlador Node.js admite UUID mediante la subclase binaria BSON UUID. Puede crear un objeto UUID con el constructor UUID(). El siguiente ejemplo de código genera un UUID aleatorio:

import { UUID } from 'mongodb';
const myUuid = new UUID();

Puedes crear un documento BSON usando la misma notación que para crear un objeto en JavaScript. El controlador de Node.js convierte automáticamente los objetos JavaScript en documentos BSON al insertarlos en una colección.

El siguiente ejemplo crea un documento BSON que representa el documento BSON de muestra anterior:

const document = {
"address": {
"street": "Pizza St",
"zipcode": "10003",
},
"coord": [-73.982419, 41.579505],
"cuisine": "Pizza",
"name": "Mongo's Pizza",
}

Puedes modificar el contenido de un documento BSON usando la misma notación que usas para modificar un objeto en JavaScript. El siguiente ejemplo realiza tres cambios en el documento BSON anterior:

  1. Agrega un nuevo campo, restaurant_id, con el valor 12345

  2. Elimina el campo cuisine

  3. Establece el valor del campo name en "Mongo's Pizza Place"

document.restaurant_id = "12345";
delete document.cuisine;
document.name = "Mongo's Pizza Place";

Para escribir datos BSON en un archivo, importe el módulo del sistema de archivos y abra el archivo de salida. A continuación, escriba cada documento en el archivo de salida. Asegúrese de que los documentos estén codificados en formato BSON mediante el método BSON.serialize().

El siguiente ejemplo escribe el documento BSON de muestra en file.bson:

import fs from 'fs/promises'; // Import the file system module
import { BSON } from 'mongodb'; // Import the BSON package
// Create a BSON object
const bsonData = BSON.serialize(result);
// Write the BSON data to a file
await fs.writeFile('file.bson', bsonData);
console.log('BSON data written to file.bson');

Para leer documentos BSON desde un archivo, abra el archivo en modo lectura. Luego, decodifique los documentos del formato BSON a medida que los lee usando el método BSON.deserialize().

El siguiente ejemplo lee el documento BSON de muestra de file.bson:

import fs from 'fs/promises'; // Import the file system module
import { BSON } from 'mongodb'; // Import the BSON package
// Read the BSON data from a file
const data = await fs.readFile('file.bson');
const document = BSON.deserialize(data);
console.log(document);
{
_id: new ObjectId('67e1823d0d63bfdf87e8928e'),
address: { street: 'Pizza St', zipcode: '10003' },
coord: [ -73.982419, 41.579505 ],
cuisine: 'Pizza',
name: "Mongo's Pizza"
}

Para aprender más sobre cualquiera de los métodos o tipos analizados en esta guía, consulta la siguiente documentación de API:

Volver

Etapas del pipeline

En esta página