From 5cb653aec1c64fb2c28af15c47d2994c8fddd134 Mon Sep 17 00:00:00 2001 From: Mustafa Basit Date: Thu, 8 Oct 2020 17:38:31 +0530 Subject: [PATCH] Update util.clj Added few util functions --- src/clojure/monger/util.clj | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/clojure/monger/util.clj b/src/clojure/monger/util.clj index 40ffe7b..6c12837 100644 --- a/src/clojure/monger/util.clj +++ b/src/clojure/monger/util.clj @@ -63,6 +63,22 @@ (defprotocol GetDocumentId (get-id [input] "Returns document id")) +(defn valid-hexa-string? + [s] + (org.bson.types.ObjectId/isValid s)) + +(defn valid-coll-name? + [coll] + (instance? String coll)) + +(defn doc-id->str + [doc] + (if (contains? doc :_id) + (let [id (get-id doc) + hexa-string (str id)] + (and (valid-hexa-string? hexa-string) (assoc doc :_id hexa-string))) + doc)) + (extend-protocol GetDocumentId DBObject (get-id