EJSON.parse()
On this page
The EJSON.parse()
method converts string values to JSON.
Syntax
The EJSON.parse()
method takes a string as input and an optional
modifier that controls the output format.
EJSON.parse(string, [options])
Command Fields
The EJSON.parse()
method takes these fields:
Field | Type | Necessity | Description | ||||||
---|---|---|---|---|---|---|---|---|---|
value | string | Required | String EJSON.parse() transforms into JSON key-value pairs | ||||||
options | string | Optional | Modifies output types. The only
option is
|
Behavior
You can call EJSON.parse()
from inside an interactive mongosh
session or from the system command line using --eval
.
Call EJSON.parse()
from an interactive session:
EJSON.parse(string)
Call EJSON.parse()
from the system command line:
mongosh --eval "EJSON.parse(string)"
Examples
To try these examples, first create the 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"), }, ] )
Format Input with EJSON.parse()
EJSON.parse()
accepts a string as input. For this example, use the
EJSON.stringify() method to export the
sales
collection as a string.
let salesCollection = EJSON.stringify( db.sales.find().toArray() )
Use EJSON.parse()
to format the string for methods like
db.collection.insertMany()
that expect JSON pairs:
db.salesRestored.insertMany( EJSON.parse( salesCollection ) )
EJSON.parse()
formats the values insalesCollection
as JSON pairs.db.salesRestored.insertMany()
uses the JSON pairs to create thesalesRestored
collection.
Use EJSON.parse() from the command line
To import string data from an external source such as a file or an API
call, use EJSON.parse()
with the mongosh --eval
method.
For this example, save the sales
collection as a file.
let salesCollection = EJSON.stringify( db.sales.find().toArray() ) fs.writeFileSync( 'sales.json', salesCollection )
The code creates a file on your local system called sales.json
. To
import the file and create a new collection, exit mongosh
and run an
--eval
operation from the command line.
# 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()
takes a string as input. This example usesfs.readFileSync()
to read thesale.json
file as a string.EJSON.parse()
formats the input string as JSON pairs.db.salesFromFile.insertMany()
creates thesalesFromFile
collection from the JSON pairs.
Learn More
EJSON documentation
Mozilla Developer Network JSON.parse documentation