EJSON.serialize()
Nesta página
O método EJSON.serialize()
converte objetos BSON em representação JSON estendida como objetos JavaScript.
O MongoDB armazena dados usando BSON. Muitos aplicativos de transformação de dados externos usam JSON. Você pode usar EJSON.serialize()
para converter BSON em JSON e salvar a saída para esses aplicativos externos.
Sintaxe
O método tem esta sintaxe:
EJSON.serialize( object, [ options ] )
Campos de método
O método utiliza os seguintes campos:
Campo | Tipo | necessidade | Descrição | ||||||
---|---|---|---|---|---|---|---|---|---|
| Objeto BSON | Obrigatório | objeto BSON para converter. Por exemplo, uma array de documentos . | ||||||
| string | Opcional | Modifica ostipos de objeto de saída . A única opção é
|
Comportamento
Você pode executar EJSON.serialize()
a partir de uma sessão mongosh
interativa ou a partir da linha de comando do sistema usando --eval
.
Para executar EJSON.serialize()
a partir de uma sessão mongosh
interativa, use:
EJSON.serialize( object, [ options ] )
Para executar EJSON.serialize()
na linha de comando do sistema, use:
mongosh --eval "EJSON.serialize( object, [ options ] )"
Exemplos
Crie a coleção sales
para os exemplos:
db.sales.insertMany( [ { custId: 345, purchaseDate: ISODate("2023-07-04"), quantity: 4, cost: Decimal128("100.60") }, { custId: 346, purchaseDate: ISODate("2023-07-12"), quantity: 3, cost: Decimal128("175.45") }, { custId: 486, purchaseDate: ISODate("2023-08-01"), quantity: 9, cost: Decimal128("200.53") } ] )
mongo shell interativo EJSON.serialize() Exemplo
O exemplo a seguir recupera os documentos sales
como uma array e armazena os resultados no objeto salesCollection
:
salesCollection = EJSON.serialize( db.sales.find().toArray() )
Exemplo de saída, que usa JSON:
[ { _id: { '$oid': '6520519a0dbd2d208a5c7941' }, custId: 345, purchaseDate: { '$date': '2023-07-04T00:00:00Z' }, quantity: 4, cost: { '$numberDecimal': '100.60' } }, { _id: { '$oid': '6520519a0dbd2d208a5c7942' }, custId: 346, purchaseDate: { '$date': '2023-07-12T00:00:00Z' }, quantity: 3, cost: { '$numberDecimal': '175.45' } }, { _id: { '$oid': '6520519a0dbd2d208a5c7943' }, custId: 486, purchaseDate: { '$date': '2023-08-01T00:00:00Z' }, quantity: 9, cost: { '$numberDecimal': '200.53' } } ]
Linha de comando mongo shell EJSON.serialize() Exemplo
Para salvar os dados da collection em um arquivo, você pode usar EJSON.serialize()
com o método mongosh --eval
.
O exemplo a seguir recupera os documentos sales
como uma array e salva os resultados em um arquivo chamado sales.json
no sistema de arquivos do computador:
# Note: The example is formatted to fit the page. mongosh --quiet \ --eval "EJSON.serialize( db.sales.find().toArray() )" \ > sales.json
Em seguida, você pode usar o arquivo sales.json
com um aplicação de transformação de dados externo.
Saiba mais
EJSON documentação