В нашей среде приложения Rails (ruby 1.8.7 / rails 2.3.12) я могу запустить следующий код:
class MongoTester
include MongoMapper::Document
key :test_arr, Array, :default => []
end
mt = MongoTester.new
mt.test_arr << 24
mt2 = MongoTester.new
Вывод mt2.inspect:
#<MongoTester test_arr: [24], _id: BSON::ObjectId('4e5c089f3beaacad00000002')>
Я не уверен, как это возможно. object_id и _id для обеих записей разные. Ни один из них не спасен. Мы не модифицировали MongoMapper в нашем приложении (mongomapper 0.8.6). Тем не менее, совершенно новая запись содержит данные ранее созданной другой записи.
Я не могу воспроизвести это в тестовом наборе MongoMapper.
Любая информация о том, как этот эффект возможен или как я могу от него избавиться, была бы потрясающей. Спасибо!