我想确认我编写的解析器工作正常。它需要一个可从终端运行的JavaScript mongodb命令,并将其转换为MongoDB / Java驱动程序的Java对象。
以下.toString()结果有效吗?
{ "NumShares " : 1 , "attr4 " : 1 , "symbol" : { "$regex" : "ESLR%"}}
这是从以下JavaScript转换而来的
db.STOCK.find({ "symbol": "ESLR%" }, { "NumShares" : 1, "attr4" : 1 })
当然,这些数据将保存在集合中
{ "_id" : { "$oid" : "538c99e41f12e5a479269ed1"} , "symbol" : "ESLR" , "NumShares" : 3471.0}
感谢你的帮助
最佳答案
在find()
调用一个文档的过程中,您已经组合了查询文档和项目文档。那可能不是您想要的。但是这些文档只是json,因此您可以使用任何解析器将其转换。您需要处理一些关于ObjectID,日期,DBRef以及特别是正则表达式的陷阱,但是可以通过在解析之前转义/引用它们而无需过多麻烦地对其进行管理。