Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
Menu Docs
Página inicial do Docs
/ / /
Controlador Node.js
/

Trabalhe com Dados BSON

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';

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.

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();

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",
}

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:

  1. Adiciona um novo campo, restaurant_id, com o valor 12345

  2. Remove o campo cuisine

  3. Define o valor do campo name como "Mongo's Pizza Place"

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

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');

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"
}

Para saber mais sobre qualquer um dos métodos ou tipos discutidos neste guia, consulte a seguinte documentação da API:

Voltar

Data Formats

Nesta página