2015-05-23 36 views

回答

0

記住to_json實際上是兩個步驟在這裏:

  1. 呼叫as_json獲得哈希值。
  2. 將該哈希轉換爲JSON字符串。

所以,你可以使用as_json而不是to_json建立一個哈希沒有任何_id S,然後把_id你關心回來,並最終轉換成JSON:

mydoc.as_json(:except => :_id).merge('_id' => mydoc.id).to_json 
+0

啊,這是什麼我最終想出了自己。我認爲這可能會有一個更好的選擇,但這是有效的。謝謝! –

+0

是的,我正在尋找某種明確的「創建集合」,但似乎Mongoid和Moped想要創建集合作爲初始插入或創建索引的副作用。 –

+0

我做了一個有趣的變化......我從小散列開始,以便首先獲得ID:{「_id」=> mydoc.id).merge(mydoc.as_json(除了:「_id」)。to_json這個放置哈希前面的ID字段(在查看數據時並不重要但看起來更好) –