1

RubyAPIを使用してmongodbからの結果セットのフィールドを制限する際に問題が発生しました。

ファイルに関する情報を保存しているmongoコレクションがあります。フィールドの1つは「image_filename」です。このフィールドを持つコレクション内のすべてのレコードのフィールドとIDを返そうとしています。

mongoシェルでは、これは次の方法で実行されます。

db.images.find({"image_filename": /./}, {image_filename: 1} )

これはうまくいきます。しかし、 RubyAPIを介して同様のクエリを実行しようとすると

result = mongo.db.find("image_filename" => /./, :fields => ['_id', 'image_filename'])

nullセットしか取得していません。もう一度、私は明らかに間違ったことをしていると思います。私は上記の考えられるすべてのバリエーションを試しましたが、誰かが私を正しい方向に向けることができますか?

ありがとう!

4

1 に答える 1

1

コレクションを使用していますか?

result = mongo.db['images'].find({"image_filename" => /./}, {:fields => ['_id', 'image_filename']})

また、クエリをオプションハッシュから分離したことにも注意してください。

于 2012-08-08T19:14:01.007 に答える