当我在 mongodb 中添加记录时,我可以指定我想要的任何键,并将其存储在数据库中。问题是它会在我下次插入另一条记录时记住这些键。例如,如果我执行以下操作:
Product.create :foo => 123
接着
Product.create :bar => 456
我:foo => nil
在第二条记录中获得了字段。
这绝对不是 mongodb 本身的限制,因为如果我重新启动 rails 控制台并创建另一个具有不同列集的记录,它将不会添加第 2 条记录中的列。
所以看起来 mongomapper 记住了所有使用的键并将它们全部插入到所有记录中,即使没有提供值。
问题很明显:如何禁用这种疯狂的属性爆炸?
基本上,我只希望我在模型中指定的“永久”键出现在每条记录中,但要为每条记录指定所有“额外”属性,而不是弄乱后续记录。