使用Clojure 1.3.0和CongoMongo 0.1.7进行简单的(fetch-one:my_collection)返回如下内容:
{:_id #<ObjectId 4f10d46c56bad557a7729f95>,
:key2 "value2",
:etc "etc
}
并且'#<ObjectId'
打破了一切,但我很惊讶我找不到任何人在任何地方找到这个问题。
实际上我做了一个简单的(type *the_result_above*)
我得到了clojure.lang.PersistentArrayMap,同时手动删除#
位我正确得到了clojure.lang.PersistentHashMap
有什么想法吗?谢谢!
答案 0 :(得分:1)
您不是唯一有此问题的人。在我的一个项目中,我通过添加以下函数创建了一个变通方法:
(defn string-id [map]
(assoc map :_id (str (map :_id))))
使用来自CongoMongo的任何地图提供它,它将用它的字符串表示替换_id并返回更新的地图。