我有一个包含一些嵌入式文档的文档(其中一些还有其他嵌入式文档)。
我希望将文档内容作为JSON返回,但不包含嵌入文档的所有ID。
我可以这样做:mydoc.to_json(:except =>:_id) 但是它会删除所有BSON ID,包括mydoc的ID。
是否有其他方法仅剥离嵌入的文档ID?
答案 0 :(得分:1)
请注意,to_json
实际上是两个步骤:
as_json
获取哈希。因此,您可以使用as_json
代替to_json
来构建没有任何_id
的哈希,然后将您关注的_id
放回去,最后转换为JSON:
mydoc.as_json(:except => :_id).merge('_id' => mydoc.id).to_json