Visão geral
Neste guia, você pode aprender a criar documentos BSON, ler BSON de um arquivo e escrever BSON em um arquivo usando o driver Node.js
BSON, ou Binary JSON, é o formato de dados que o MongoDB usa para organizar e armazenar dados. Você pode usar documentos BSON em seu aplicação JavaScript importando o pacote BSON.
As amostras de código neste guia usam o seguinte documento BSON como exemplo:
{ "address" : { "street" : "Pizza St", "zipcode" : "10003" }, "coord" : [-73.982419, 41.579505], "cuisine" : "Pizza", "name" : "Mongo's Pizza" }
Observação
Use o pacote BSON do driver do Node.js
Recomendamos que você use o pacote BSON fornecido com o driver para evitar problemas de compatibilidade com outros pacotes BSON. Você pode importar o pacote BSON do driver do Node.js com a seguinte declaração de importação:
import { BSON } from 'mongodb';
Tipos de dados JSON
O BSON oferece suporte a todos os tipos de estrutura de dados JSON e adiciona suporte para tipos incluindo datas, inteiros de tamanhos diferentes, ObjectId
e dados binários. Para obter uma lista completa dos tipos compatíveis, consulte a página Tipos de BSON no Manual do MongoDB Server.
IDs universalmente únicos (UUIDs)
O driver Node.js suporta UUIDs usando a subclasse binária BSON UUID
. Você pode criar um objeto UUID
usando o construtor UUID()
. O seguinte exemplo de código gera um UUID aleatório:
import { UUID } from 'mongodb'; const myUuid = new UUID();
Crie um documento BSON
Você pode criar um documento BSON usando a mesma notação usada para criar um objeto em JavaScript. O driver Node.js converte automaticamente objetos JavaScript em documentos BSON ao inseri-los em uma collection.
O exemplo a seguir cria um documento BSON que representa o documento BSON de amostra anterior:
const document = { "address": { "street": "Pizza St", "zipcode": "10003", }, "coord": [-73.982419, 41.579505], "cuisine": "Pizza", "name": "Mongo's Pizza", }
Altere um documento BSON
Você pode modificar o conteúdo de um documento BSON usando a mesma notação usada para modificar um objeto em JavaScript. O exemplo a seguir faz três alterações no documento BSON anterior:
Adiciona um novo campo,
restaurant_id
, com o valor12345
Remove o campo
cuisine
Define o valor do campo
name
como"Mongo's Pizza Place"
document.restaurant_id = "12345"; delete document.cuisine; document.name = "Mongo's Pizza Place";
Grave BSON em um arquivo
Para gravar dados BSON em um arquivo, importe o módulo do sistema de arquivos e abra o arquivo de saída. Em seguida, escreva cada documento no arquivo de saída. Certifique-se de que os documentos estejam codificados no formato BSON usando o método BSON.serialize()
.
O exemplo seguinte grava o documento BSON de amostra no 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');
Leia BSON de um arquivo
Para ler documentos BSON de um arquivo, abra um arquivo no modo de leitura. Em seguida, decodifique os documentos do formato BSON conforme você os lê usando o método BSON.deserialize()
.
O exemplo a seguir lê o documento BSON de amostra 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" }
Documentação da API
Para saber mais sobre qualquer um dos métodos ou tipos discutidos neste guia, consulte a seguinte documentação da API: