【发布时间】:2012-04-13 17:08:11
【问题描述】:
假设我正在开发一个如下所示的 MongoMapper 类:
class Animal
include MongoMapper::Document
key :type, String, :required => true
key :color, String
key :feet, Integer
end
现在我想存储一只鸟的翼展。加这个会不会比较好,虽然和很多文档无关,感觉有点不整洁:
key :wingspan, Float
或者这个,即使它是一个难以描述的包罗万象,感觉就像一个黑客:
key :metadata, Hash
看起来 :metadata 方法(在我继承的代码中有先例)对于整个 Mongo 文档来说几乎是多余的:它们都旨在成为键值对的无模式存储桶。
但是,添加动物专用键似乎也是一个非常难看的模型的滑坡。
任何替代方案(创建一个 Bird 子类)?
【问题讨论】:
标签: mongodb schema database-schema mongomapper