質問: db[:post].find({}, { _id: 0, title: 1, content: 0 }) # 全てのフィールドに0・1を指定しても同様の結果 collection.each do |val| p val end ```
回答: `find({}, {title: 1})`はmongoコマンドでの書き方ですね。 Ruby用ドライバの説明を見ると、 `find({}, {'projection'=>{'title'=>1}})` と書けば良さそうです。 ただし上のようにすると`title`だけでなく`_id`も返されます。 `_id`フィールドは指定に含めなくても返され、含まないようにするには除外指定が必要です。 つまり`_id`も除外して`title`だけを得るには `find({}, {'projection'=>{'title'=>1, '_id'=>0}})` とすることになります。