2017-05-04 3 views
0

私はこのクエリを実行しようとしています:

db.zips.find({"state":"GA"}, {"pop":{$gt:0}}).sort({pop:1}).limit(5) 

しかし、私はこのエラーを取得しておいてください。

"errmsg" : "Unsupported projection option: pop: { $gt: 0.0 }" 

私はこのクエリを実行すると、それは完璧に動作します:

db.zips.find({"state":"GA"}).sort({pop:1}).limit(5) 

私はフィールドの「状態」=「GA」を見つけようとしているし、「ポップ」は0と制限よりも大きい場合それを5つの結果にして、昇順にソートします。

find関数の最初の引数として{"pop":{$gt:0}}部分を入れると、実行されますが、 "GA"と等しい状態だけが必要であるという事実は無視されます。私はこれを修正する方法がわかりません、誰が何が間違っているのか分かりますか?

+0

'db.zips.find({ "状態": "GA"、 "POP":{$のGT:0}})を試してみてください。ソート({ポップ:1})。限界(5)' 。 – Veeram

+0

働いていた@Veeram、ありがとう! – dgx

答えて

0

Mongodbのfind関数は、queryとprojectionの2つの引数をとります。実行しているクエリには2つのオブジェクトがあり、2番目は投影基準とみなされます。

お客様のqueryは、すべての条件を単一のオブジェクトで保持する必要があります。

db.zips.find({ 
       "state":"GA", 
       "pop":{$gt:0} 
      }) 
     .sort({pop:1}) 
     .limit(5) 
関連する問題