Docs 菜单
Docs 主页
/
MongoDB Shell
/ /

EJSON.serialize()

在此页面上

  • 语法
  • 方法字段
  • 行为
  • 示例
  • 交互式mongo shell EJSON.serialize() 示例
  • 命令行mongo shell EJSON.serialize() 示例
  • 了解详情

EJSON.serialize()方法将 BSON 对象转换为扩展 JSON 表示形式,作为 JavaScript 对象。

MongoDB使用BSON存储数据。 许多外部数据转换应用程序都使用JSON。 您可以使用EJSON.serialize()将BSON转换为JSON ,并保存输出以供这些外部应用程序使用。

该方法的语法如下:

EJSON.serialize( object, [ options ] )

该方法采用以下字段:

字段
类型
必要性
说明

object

BSON 对象

必需

要转换的BSON对象。 示例,文档大量。

options

字符串

Optional

修改输出对象类型。 唯一的选项是{ relaxed: <boolean> }

布尔值
说明

true

返回 JSON 对象类型。 默认值为true

false

返回BSON对象类型。

您可以从交互式EJSON.serialize() mongosh会话或使用 从系统命令行运行--eval

要从交互式mongosh会话运行EJSON.serialize() ,请使用:

EJSON.serialize( object, [ options ] )

要从系统命令行运行EJSON.serialize() ,请使用:

mongosh --eval "EJSON.serialize( object, [ options ] )"

为示例创建sales集合:

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

以下示例以数组形式检索sales文档,并将结果存储在salesCollection对象中:

salesCollection = EJSON.serialize( db.sales.find().toArray() )

使用 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' }
}
]

要将集合数据保存到文件,可以使用EJSON.serialize()mongosh --eval方法。

以下示例以大量形式检索sales文档,并将结果保存到计算机文件系统上名为sales.json的文件中:

# Note: The example is formatted to fit the page.
mongosh --quiet \
--eval "EJSON.serialize( db.sales.find().toArray() )" \
> sales.json

然后,您可以将sales.json文件与外部数据转换应用程序一起使用。

  • EJSON序列化方法

  • EJSON 文档

后退

parse()