EJSON.parse()
该EJSON.parse()
方法将字符串值转换为JSON。
语法
EJSON.parse()
方法接受一个字符串和一个可选的修饰符,该修饰符控制输出格式。
EJSON.parse(string, [options])
命令字段
EJSON.parse()
方法接受以下字段
字段 | 类型 | 必要性 | 描述 | ||||||
---|---|---|---|---|---|---|---|---|---|
value | string | 必需 | String EJSON.parse() 将转换为 JSON 键值对 | ||||||
options | string | 可选 | 修改输出类型。唯一的选项是
|
行为
您可以从交互式 mongosh
会话中调用 EJSON.parse()
或者在系统命令行中使用 --eval
来调用。
从交互式会话调用 EJSON.parse()
EJSON.parse(string)
从系统命令行调用 EJSON.parse()
mongosh --eval "EJSON.parse(string)"
示例
要尝试这些示例,首先创建 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"), }, ] )
使用 EJSON.parse()
格式化输入
EJSON.parse()
接受一个字符串作为输入。在这个例子中,使用 EJSON.stringify() 方法将 sales
集合导出为字符串。
let salesCollection = EJSON.stringify( db.sales.find().toArray() )
使用 EJSON.parse()
格式化字符串,以便使用期望 JSON 对的类似方法db.collection.insertMany()
db.salesRestored.insertMany( EJSON.parse( salesCollection ) )
EJSON.parse()
将salesCollection
中的值格式化为 JSON 对db.salesRestored.insertMany()
使用 JSON 对创建salesRestored
集合。
使用命令行中的 EJSON.parse()
要从外部来源(如文件或API调用)导入字符串数据,请使用 EJSON.parse()
与 mongosh --eval
方法。
在此示例中,将 sales
集合保存为文件。
let salesCollection = EJSON.stringify( db.sales.find().toArray() ) fs.writeFileSync( 'sales.json', salesCollection )
此代码将在您的本地系统上创建一个名为 sales.json
的文件。要导入文件并创建新的集合,请退出 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对创建salesFromFile
集合。
了解更多
EJSON 文档
Mozilla 开发者网络 JSON.parse 文档