Docs 菜单
Docs 主页
/
MongoDB Shell
/ /

EJSON.parse()

在此页面上

  • 语法
  • 命令字段
  • 行为
  • 示例
  • 使用 EJSON.parse() 格式化输入
  • 从命令行使用 EJSON.parse()
  • 了解详情

EJSON.parse()方法将字符串值转换为 JSON。

EJSON.parse()方法将字符串作为输入,并使用控制输出格式的可选修饰符。

EJSON.parse(string, [options])

EJSON.parse()方法接受以下字段:

字段
类型
必要性
说明

value

字符串

必需

字符串EJSON.parse()转换为 JSON 键值对

options

字符串

Optional

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

效果

true

尽可能返回原生 JavaScript 类型

false

首选返回 BSON types

您可以从交互式mongosh会话中调用EJSON.parse() ,也可以使用--eval从系统命令行中调用。

从交互式会话中调用EJSON.parse()

EJSON.parse(string)

从系统命令行调用EJSON.parse()

mongosh --eval "EJSON.parse(string)"

要尝试这些示例,请先创建salescollection:

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

EJSON.parse() 接受字符串作为输入。 对于此示例,请使用EJSON.stringify() 方法将salescollection导出为字符串。

let salesCollection = EJSON.stringify( db.sales.find().toArray() )

使用EJSON.parse() 为 等需要 对的方法设置string db.collection.insertMany()JSON格式:

db.salesRestored.insertMany( EJSON.parse( salesCollection ) )
  • EJSON.parse()salesCollection中的值格式化为 JSON 对。

  • db.salesRestored.insertMany()使用 JSON 对创建salesRestored集合。

要从文件或 API 调用等外部源导入字符串数据,请使用EJSON.parse()mongosh --eval方法。

对于本示例,将salescollection另存为文件。

let salesCollection = EJSON.stringify( db.sales.find().toArray() )
fs.writeFileSync( 'sales.json', salesCollection )

该代码会在本地系统上创建一个名为sales.json的文件。 要导入文件并创建collection,请退出mongosh并从命令行运行--eval操作。

# Note: This example is formatted to fit on the page.
mongosh --quiet \
--eval "db.salesFromFile.insertMany( \
EJSON.parse( fs.readFileSync( 'sales.json', 'utf8' ) ) )"
  • EJSON.parse() 将字符串作为输入。 此示例使用fs.readFileSync()sale.json文件作为字符串读取。

  • EJSON.parse() 将输入字符串格式化为 JSON 对。

  • db.salesFromFile.insertMany() 从 JSON 对创建salesFromFilecollection。

后退

deserialize()