Gor*_*vic 7 clojure mongodb monger
我正在使用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之间的转换值自动且透明地转换?某种选项,在启用时,会创建带有ids字符串表示的地图,反之亦然,在用作查询中的参数时会转换ids t对象ID的字符串表示形式?
如果没有,还有哪些其他策略?
在这一点上我和你一样痛苦。取回 ObjectID 很烦人,因为您总是必须来回转换,如果您忘记了,那么就很难发现错误。
您最好的选择可能是包装驱动程序代码以自动进行转换。因此,用一个薄包装器替换 find、findOne、insert,该包装器会查看类型并自动进行转换,无论您是进入还是退出。
不幸的是,我认为没有更简单的方法。
| 归档时间: |
|
| 查看次数: |
1040 次 |
| 最近记录: |