2015-05-23 35 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字段(在查看数据时并不重要但看起来更好) –