我想在其他说 JSON 的程序中使用一些 MongoDB 命令的原始输出。当我在 mongo shell 中运行命令时,它们代表 Extended JSON , “shell 模式”中的字段,具有特殊字段,如 NumberLong
、 Date
和 Timestamp
。我在文档中看到对“严格模式”的引用,但我看不到为 shell 开启它的方法,或者在 中运行像 db.serverStatus()
这样的命令的方法do 输出严格的 JSON,例如 mongodump
。如何强制 Mongo 输出符合标准的 JSON?
最佳答案
MongoDB shell 使用 Javascript,所以答案很简单:使用 JSON.stringify()
.如果你的命令是 db.serverStatus()
,那么你可以简单地这样做:
JSON.stringify(db.serverStatus())
这不会输出每个字段的正确“严格模式”表示( { "floatApprox": <number> }
而不是 { "$numberLong": "<number>" }
),但如果您关心的是获得符合标准的 JSON,这将完成把戏。
关于json - 强制 mongodb 输出严格的 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32097209/