我想检索有限字段的记录(即省略其他字段)。我搜索了很多,但查询返回所有字段的nil值,我不想要。例如对于用户模型我想要id,电子邮件只排除姓名,年龄等。
感谢您的帮助
答案 0 :(得分:3)
您可以对selecting desired fields使用Criteria#only
方法:
User.only(:_id, :email)
或Criteria#exclude
excluding fields:
User.exclude(:password)
这是Mongoid :: Criteria查找第一个查询的方式:
#<Mongoid::Criteria
selector: {}
options: {:fields=>{"_id" => 1, "email"=>1}}
class: User
embedded: false>
因此仅查询_id
和email
。