Как я могу помешать # <ObjectId ..> разбить мою карту с помощью CongoMongo? - PullRequest
2 голосов
/ 16 января 2012

с использованием 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

Есть идеи? Спасибо!

1 Ответ

1 голос
/ 27 января 2012

Вы не единственный с этой проблемой. В одном из своих проектов я создал обходной путь, добавив следующую функцию:

(defn string-id [map]
  (assoc map :_id (str (map :_id))))

Передайте его любой карте из CongoMongo, и он заменит _id строковым представлением и вернет обновленную карту.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...