如何将 mongoid 文档变成 JSON 剥离嵌入文档 ID,但保留主文档 ID?
How can I turn a mongoid document into JSON stripping out embedded document ids, but keeping the main document id?
我有一个包含一些嵌入文档的文档(其中一些包含进一步的嵌入文档)。
我想 return 文档内容 JSON 但没有嵌入文档的所有 ID。
我可以这样做:mydoc.to_json(:except => :_id)
但这会去除所有 BSON ID,包括 mydoc 的 ID。
有没有其他方法可以仅去除嵌入的文档 ID?
请记住 to_json
实际上是这里的两个步骤:
- 调用
as_json
获取哈希。
- 将该散列转换为 JSON.
的字符串
所以你可以使用 as_json
而不是 to_json
来构建一个没有任何 _id
的哈希,然后把你关心的 _id
放回去,最后转换为 JSON:
mydoc.as_json(:except => :_id).merge('_id' => mydoc.id).to_json
我有一个包含一些嵌入文档的文档(其中一些包含进一步的嵌入文档)。
我想 return 文档内容 JSON 但没有嵌入文档的所有 ID。
我可以这样做:mydoc.to_json(:except => :_id) 但这会去除所有 BSON ID,包括 mydoc 的 ID。
有没有其他方法可以仅去除嵌入的文档 ID?
请记住 to_json
实际上是这里的两个步骤:
- 调用
as_json
获取哈希。 - 将该散列转换为 JSON. 的字符串
所以你可以使用 as_json
而不是 to_json
来构建一个没有任何 _id
的哈希,然后把你关心的 _id
放回去,最后转换为 JSON:
mydoc.as_json(:except => :_id).merge('_id' => mydoc.id).to_json