我正在使用 Monger 库从 Clojure 访问 Mongo 数据库。让我烦恼的一件事是在 ObjectId 实例和字符串之间来回切换。
例如,此代码(mc/find-maps "posts" {})
将评估为将_id
条目值设置为ObjectId
类实例的映射,而在我的应用程序中,我发现将它简单地作为我知道它是唯一的字符串更有用。
另一方面,对于像这样的表达式:(mc/find-map-by-id "posts" (new ObjectId id))
我确实使用 String 对象作为id
参数,我必须使用它来构造ObjectId
.
有没有办法_id
自动和透明地在应用程序中的 Strings 和 mongo 端的 ObjectId 之间进行转换的值?某种选项,当启用时,创建带有 id 的字符串表示的映射,反之亦然,当用作查询中的参数时,转换 id 的字符串表示 t 对象 id?
如果没有,还有哪些其他策略可用?