私が取り組んでいるプロジェクトでは、ある時点で、文字列から 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 を探すと、おそらく "$query" または "$max" フィールドを持つドキュメントがないため、サイズ 0 のカーソルが表示されます (データベース内に一致するドキュメントが見つかりません)。
他に使えるものはありJSON.parse()
ますか?私は独自の関数を書くことを嫌いませんが、$ 演算子をフィールドではなく演算子として認識する DBObject を取得するにはどうすればよいですか?
アドバイスをいただければ幸いです。