我正在开发一个由 Mongodb 支持的 ruby/rails 应用程序(使用 Mongoid)。在 Rails 应用程序的上下文中,一切都完美无缺,但我们也在访问 Rails 环境之外的对象,在该环境中,我无法让对象的 id 作为除哈希格式之外的任何内容返回:
{"$oid"=>"4e0005b78ba4db213500001f"}
我发现我看到了,因为我得到的值不仅仅是一个 id 字符串,而是 BSON::ObjectId 类型。除了需要 rails 环境之外,我还尝试在执行此工作的文件中明确要求 bson:
require File.expand_path(File.dirname(__FILE__) + "/../config/environment")
require "bson"
我需要将值简单地作为包含 id 的字符串来获取,这似乎是其他任何地方的默认值,但在这种情况下。奇怪的是,这种行为只发生在我的开发环境中(我团队中的其他人没有这个问题)。
必要的免责声明,我是 Mongodb 的新手,所以可能会遗漏一些真正明显的东西。
谢谢!