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 の間で convert の値を自動的かつ透過的に作成する方法はありますか? 有効にすると、id の文字列表現を使用してマップを作成し、その逆も同様に、クエリでパラメーターとして使用するときに id t オブジェクト id の文字列表現を変換するある種のオプションはありますか?
そうでない場合、他にどのような戦略が利用可能ですか?