我正在使用Monger库从Clojure访问Mongo数据库,其中一件令人讨厌的事情是在ObjectId实例和字符串之间来回切换。
例如,这段代码
另一方面,对于表达式如:
是否有一种方法可以使
如果没有,还有哪些其他策略可用?
例如,这段代码
(mc/find-maps "posts" {})
将计算为具有 _id
键设置为 ObjectId
类的实例的映射,而在我的应用程序中,我发现将其作为字符串更有用,因为我知道它是唯一的。另一方面,对于表达式如:
(mc/find-map-by-id "posts" (new ObjectId id))
其中我使用 String 对象作为 id
参数,我必须使用它来构造一个 ObjectId
实例。是否有一种方法可以使
_id
值自动透明地在应用程序和Mongo之间转换为字符串和 ObjectId?是否有某种选项可在启用时创建具有 ID 字符串表示的映射,并且在查询参数中使用字符串表示形式的 ID 时将其转换为对象 ID?如果没有,还有哪些其他策略可用?