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"}
どうやってやるの?
更新 私自身の質問の1つに答える:「json応答から必須ではないフィールドを削除する」
これは、Model クラス内で as_json メソッドを定義することで実行できます。これにより、生成されたjsonにフィールド「キー」と「値」のみが追加されます。
def as_json(options={}){
:key =>self.key,
:value => self.value
}