MongoDB Rails:使用mongomapper将json插入数据库并检索



我对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"},然后将该文档映射到父文档的max键,类似地,将另一个文档映射到min密钥。

我尝试了很多方法,但都没能成功。

此外,返回客户端时,我希望从响应JSON中删除字段id(对象id)。示例JSON:

{"id":"51e64bce44ae8bf1fea3f78f","text":"Text 1","value":"Value 1"}

我该怎么做?

更新回答我自己的一个问题:"从json响应中删除非必需字段"

这可以通过在Model类中定义as_json方法来实现。这将只向生成的json中添加字段"key"one_answers"value"。

def as_json(options={}){
   :key  =>self.key,
   :value => self.value
}

回答我自己的问题:我到处找,找不到一个满意的答案来回答我的问题。

在临时的基础上,我为内部类创建了hash,并正在分配值。这是一个暂时的解决方案,有点脏。

我把同样的问题发到了一个mongomapper群里,得到了答案。在这里分享答案。。

假设我有一个名为Inner的模型和另一个称为Outer的模型

one :max, :class_name => Inner

这将把Inner类对象嵌入Outerclass

max属性

最新更新