2011-06-05 139 views
2

MongoMapper文檔中沒有任何地方可以找到任何實際編輯文檔的方法。我在其他地方也找不到任何東西。我能找到的唯一方法,就是這個方法:編輯MongoMapper文檔

class User 
    include MongoMapper::Document 

    key :name, String 
end 

user = User.create(:name => "Hello") 
user.name = "Hello?" 

puts user.name # => Hello? 

是否有更簡單的方法來做到這一點?我知道在DataMapper中,我可以一次編輯多個鍵(或屬性,在DM的情況下),但對於MM,我一次只能做一個。

我錯過了什麼,或者是什麼?

回答

4

您可以像編輯ActiveRecord對象一樣編輯文檔/對象:將一些值賦給屬性,然後調用save

你舉的例子只有一個鍵,這裏有一個多鍵:

class User 
    include MongoMapper::Document 
    key :name, String 
    key :email, String 
    key :birthday, Date 
    timestamps! # The usual ActiveRecord style timestamps 
end 

然後:

user = User.create(
    :name  => 'Bob', 
    :email => '[email protected]', 
    :birthday => Date.today 
) 
user.save 

及更高版本:

user.name  = 'J.R.' 
user.email = '[email protected]' 
user.birthday = Date.parse('1954-06-02') 
user.save 

或者有update_attributes

user.update_attributes(
    :name => 'J.R. "Bob" Dobbs', 
    :email => '[email protected]' 
) 
user.save 

也許我不確定你在問什麼。

+0

我正在尋找'user.update_attributes',謝謝。 – 2011-06-05 13:13:55