gpt4 book ai didi

ruby - MongoMapper - 手动设置 ObjectId 失败并显示 "illegal ObjectID format"

转载 作者:可可西里 更新时间:2023-11-01 09:28:33 26 4
gpt4 key购买 nike

我有一个简单的模型对象:

class UserRating
include MongoMapper::EmbeddedDocument
key :idea_id, ObjectId
key :rating, Integer
end

我正在尝试使用以下方法在此对象上设置一个 Idea_Id:user_rating.idea_id = ObjectId.new

这会抛出:“非法的 ObjectID 格式”

这确实看起来像简单的代码...我注意到的唯一奇怪之处是 ObjectID != ObjectId。这可能只是错误消息的问题。没有把握。非常简单的代码。不知道为什么我不能让它工作。如果有帮助,这是在 Cucumber 测试中的 Rails 3 Beta 4 项目的上下文中。我成功地击中了 mongodb 守护进程,所以没有奇怪的连接问题。非常感谢任何指点。

最佳答案

MongoMapper 有一个名为 ObjectId 的代理对象 - 在这种情况下,您需要一个 BSON::ObjectID,它代表一个存储在 mongodb 本身中的 ID。

你可能想要:

key :idea_id, BSON::ObjectID, :index => true

关于ruby - MongoMapper - 手动设置 ObjectId 失败并显示 "illegal ObjectID format",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3393006/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com