whe*_*den 31
MongoDB shell讲Javascript,所以答案很简单:使用JSON.stringify()
.如果您的命令是db.serverStatus()
,那么您可以简单地执行此操作:
JSON.stringify(db.serverStatus())
Run Code Online (Sandbox Code Playgroud)
这不会输出每个字段({ "floatApprox": <number> }
而不是{ "$numberLong": "<number>" }
)的正确"严格模式"表示,但如果你关心的是获得符合标准的JSON,那么这就行了.
我还没有找到在mongo shell中执行此操作的方法,但作为一种解决方法,mongoexport
可以运行查询并且其输出使用严格模式,并且可以通过管道传输到其他期望JSON输入的命令(例如json_pp
或jq
).例如,假设您有以下mongo shell命令来运行查询,并且您希望使用该数据创建管道:
db.myItemsCollection.find({creationDate: {$gte: ISODate("2016-09-29")}}).pretty()
Run Code Online (Sandbox Code Playgroud)
将mongo shell命令转换为此shell命令,为了示例,将管道路由到`json_pp:
mongoexport --jsonArray -d myDbName -c myItemsCollection -q '{"creationDate": {"$gte": {"$date": "2016-09-29T00:00Z"}}}' | json_pp
Run Code Online (Sandbox Code Playgroud)
您需要将查询转换为严格模式格式,并将数据库名称和集合名称作为参数传递,并为shell正确引用,如此处所示.
归档时间: |
|
查看次数: |
11274 次 |
最近记录: |