2014-09-24 39 views
0

獲取一個字段,我有以下型號Mongoid - 從文件

class MyModel 
    field :title,   type: String 
    field :url,    type: String 
end 

我想提出一個查詢,將返回只有標題字段爲每個文檔。

我該怎麼辦?

回答

1

使用only or without

Queryable#only

限制返回到提供的字段的字段。

Queryable#without

限制返回一切,除了所提供的字段的字段。

所以你會說:

MyModel.query_method_calls.only(:title) 
# or 
MyModel.query_method_calls.without(:url) 

注意only如果你使用Mongoid3啓用了身份地圖將亂七八糟的東西,你會得到停留在半成形物品身份映射緩存,並最終想知道所有奇怪的nil屬性來自哪裏。如果這適用於你,然後繞過Mongoid和使用underlying Moped interface

Query#select

選擇要返回的字段。

這種方法看起來像:

MyModel.collection.find(...).select(:title => 1) 

你會用哈希,而不是在這種情況下Mongoid對象進行工作。