在我正在进行的一个项目中,有一次我从字符串中读取了对 mongodb 的查询。我一直在使用com.mongodb.util.JSON.parse(querystring)
读取查询,在我开始读取包含 $max 和 $min 等运算符的查询之前,它运行良好。此时,解析器不再使用 mongodb 的 $max 运算符,而是创建一个“$max”字段。例如,
输入字符串:
{ $query : { state : "AL" } , $max : { pop : 9058 } }
被解析为 DBObject:
{ "$query" : { "state" : "AL"} , "$max" : { "pop" : 9058}}
然后,当我使用该查询文档查找 DBCursor 时,我得到一个大小为 0 的游标(在数据库中找不到匹配的文档),大概是因为没有带有“$query”或“$max”字段的文档。
除此之外还有什么我可以使用的JSON.parse()
吗?我不反对为它编写自己的函数,但我怎样才能获得一个将 $ 运算符识别为运算符而不是字段的 DBObject?
任何意见,将不胜感激!