EJSON.serialize()
的EJSON.serialize()
方法将BSON对象转换为扩展JSON表示的JavaScript对象。
MongoDB使用BSON存储数据。许多外部数据转换应用程序使用JSON。您可以使用EJSON.serialize()
将BSON转换为JSON,并将输出保存以供这些外部应用程序使用。
语法
该方法具有以下语法
EJSON.serialize( object, [ options ] )
方法字段
该方法接受以下字段
字段 | 类型 | 必要性 | 描述 | ||||||
---|---|---|---|---|---|---|---|---|---|
object | BSON对象 | 必需 | 要转换的BSON对象。例如,文档数组。 | ||||||
options | 字符串 | 可选 | 修改输出对象类型。唯一选项是
|
行为
您可以从交互式 mongosh
会话或使用 --eval
参数从系统命令行运行 EJSON.serialize()
。
要从交互式 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") } ] )
交互式 Mongo Shell EJSON.serialize() 示例
以下示例检索 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' } } ]
命令行 Mongo Shell EJSON.serialize() 示例
要将集合数据保存到文件,您可以使用 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
文件。