我对 Rails 和 MongoDB 完全陌生。我将 Rails-3 和 MongoDB 与MongoMapper一起使用来创建一个小型应用程序,该应用程序存储一些数据并以 json 格式返回数据。客户端需要特定格式的 json。但我无法在保存的文档中创建相同的格式。
请求格式:
{"Name":"ABC","max":{"key":"KEY-1","value":"100"},"min":{"key":"KEY-2","value":"0"}}
父文档
class Story
include MongoMapper::Document
key :item, String
key :max,
key :min,
end
我想要的是首先创建一个文档 {"key":"KEY-1","value":"100"} ,然后将该文档映射到父文档的最大键,同样将另一个文档映射到最小键。
我尝试了很多方法,但我无法使其工作。
另外,我想在返回客户端时从响应 JSON 中删除字段id (对象 id)。示例 JSON:
{"id":"51e64bce44ae8bf1fea3f78f","text":"Text 1","value":"Value 1"}
我怎样才能做到这一点?
更新 回答我自己的一个问题:“从 json 响应中删除非必填字段”
可以通过在 Model 类中定义 as_json 方法来完成。这将仅将字段“键”和“值”添加到生成的 json。
def as_json(options={}){
:key =>self.key,
:value => self.value
}