我想在其他使用JSON的程序中使用某些MongoDB命令的原始输出。当我在蒙戈shell中运行命令,他们代表扩展JSON,在“shell模式”领域,具有特殊的领域,如NumberLong,Date和Timestamp。我看到的文档,以“严格模式”中引用,但我看不出有什么办法把它的壳,或像运行命令的方式db.serverStatus()在事情 做 输出严格JSON一样mongodump。如何强制Mongo输出符合标准的JSON?
NumberLong
Date
Timestamp
db.serverStatus()
mongodump
MongoDB shell讲Java语言,因此答案很简单:useJSON.stringify()。如果您的命令是db.serverStatus(),则只需执行以下操作:
JSON.stringify()
JSON.stringify(db.serverStatus())
这不会为每个字段({ "floatApprox": <number> }而不是{ "$numberLong": "<number>" })输出正确的“严格模式”表示形式,但是如果您关心的是拿出符合标准的JSON,则可以解决问题。
{ "floatApprox": <number> }
{ "$numberLong": "<number>" }