EJSON.parse()
EJSON.parse()
方法将字符串值转换为 JSON。
语法
EJSON.parse()
方法将字符串作为输入,并使用控制输出格式的可选修饰符。
EJSON.parse(string, [options])
命令字段
EJSON.parse()
方法接受以下字段:
字段 | 类型 | 必要性 | 说明 | ||||||
---|---|---|---|---|---|---|---|---|---|
| 字符串 | 必需 | 字符串 | ||||||
| 字符串 | Optional | 修改输出类型。 唯一的选项是
|
行为
您可以从交互式mongosh
会话中调用EJSON.parse()
,也可以使用--eval
从系统命令行中调用。
从交互式会话中调用EJSON.parse()
:
EJSON.parse(string)
从系统命令行调用EJSON.parse()
:
mongosh --eval "EJSON.parse(string)"
示例
要尝试这些示例,请先创建sales
collection:
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
collection导出为字符串。
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
集合。
从命令行使用 EJSON.parse()
要从文件或 API 调用等外部源导入字符串数据,请使用EJSON.parse()
和mongosh --eval
方法。
对于本示例,将sales
collection另存为文件。
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 对创建salesFromFile
collection。
了解详情
EJSON 文档
Mozilla 开发者网络 JSON.parse 文档