2010-11-17 48 views
4

我知道如何刪除集合中的文檔。即User.last.delete如何刪除關鍵字段

User文件中。我有以下密鑰:first_name,last_name,gender。我們決定刪除鑰匙last_name。所以我只有first_namegender。我將如何去做這件事?這甚至有可能嗎?我試過User.last.last_name.delete無濟於事。

+0

問題是標籤羅比 - 上raild,但標題和正文應反映這個問題是基於鐵軌。 – 2010-11-18 12:12:15

回答

1

如果您實際嘗試從數據庫中刪除列,則應該進行遷移以刪除該列。

如果您試圖將記錄更改爲沒有姓氏,您可以執行類似User.last.last_name = false的操作,然後保存該記錄。

+0

不是'User.last.last_name = nil'嗎? – jrdioko 2010-11-17 18:18:37

+1

使用mongodb/mongoid的Im。我不認爲mongodb與遷移 – 2010-11-17 19:25:43

+0

檢查了這也許:https://github.com/adacosta/mongoid_rails_migrations – re5et 2010-11-17 22:06:32

31

使用mongoid: User.last.unset('last_name')應該做的伎倆。

+0

您是否必須在此之後調用save,因爲它似乎沒有工作 – Donato 2015-04-28 18:39:30

5

如果你想(從集合中的所有文件)刪除整個集合last_name場,你會做User.all.unset('last_name')