Overview
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';
Tipos de datos BSON
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.
Identificadores únicos universales (UUID)
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();
Crear un documento BSON
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", }
Cambiar un documento BSON
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:
Agrega un nuevo campo,
restaurant_id, con el valor12345Elimina el campo
cuisineEstablece el valor del campo
nameen"Mongo's Pizza Place"
document.restaurant_id = "12345"; delete document.cuisine; document.name = "Mongo's Pizza Place";
Escribir BSON en un archivo
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');
Leer BSON desde un archivo
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" }
Documentación de la API
Para aprender más sobre cualquiera de los métodos o tipos analizados en esta guía, consulta la siguiente documentación de API: