因此........我有一个Rails应用程序。 rails应用程序使用Mongoid作为mongodb数据。当我通过网络表单创建mongo记录时,他们的ID为string
。当我使用mongoimport将记录导入到mongo中时,它们具有类型为BSON::ObjectId
的ID。无法将BSON :: ObjectId转换为字符串
Rails应用程序期待蒙戈记录ID是字符串,因此,当我输入数据时,它会导致我的应用程序失败,因为当它查找它抱怨can't convert type BSON::ObjectId to string
我记录在这里有很多层次的困惑。 BSON :: ObjectId是mongo中ID的默认类型,所以我不明白为什么通过rails和Mongoid创建的记录具有字符串ID。我没有看到Mongoid指定的地方,_id字段应该是一个字符串。有人有任何线索吗?
你使用的是什么版本的mongoid? – 2012-07-05 15:45:55
所以我想通了。问题在于我的应用程序使用的Mongoid版本。版本1.9.5使用字符串作为_id字段的默认类型,这正是我正在使用的。最终,我将不得不建立一个rake任务来导入记录,所以我可以使用Mongoid 1.9.5来创建它们。 感谢您的帮助! – 2012-07-05 16:12:28