From 99a113e22055ffc12eaf02460a39b5c37b866ad7 Mon Sep 17 00:00:00 2001 From: eunmin Date: Wed, 11 Jan 2017 13:45:49 +0900 Subject: [PATCH] Add affected-count function for WriteResult --- src/clojure/monger/result.clj | 5 +++++ test/monger/test/result_test.clj | 9 ++++++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/clojure/monger/result.clj b/src/clojure/monger/result.clj index 0a5f35e..1663e18 100644 --- a/src/clojure/monger/result.clj +++ b/src/clojure/monger/result.clj @@ -65,3 +65,8 @@ (acknowledged? [^CommandResult result] (.ok result))) + +(defn affected-count + "Get the number of documents affected" + [^WriteResult result] + (.getN result)) diff --git a/test/monger/test/result_test.clj b/test/monger/test/result_test.clj index 8d94238..00d18f4 100644 --- a/test/monger/test/result_test.clj +++ b/test/monger/test/result_test.clj @@ -15,8 +15,11 @@ date (Date.) doc { :created-at date :data-store "MongoDB" :language "Clojure" :_id doc-id } modified-doc { :created-at date :data-store "MongoDB" :language "Erlang" :_id doc-id }] - (is (not (mgres/updated-existing? (mc/update db collection { :language "Clojure" } doc {:upsert true})))) - (is (mgres/updated-existing? (mc/update db collection { :language "Clojure" } doc {:upsert true}))) - (mgres/updated-existing? (mc/update db collection { :language "Clojure" } modified-doc {:multi false :upsert true})) + (let [result (mc/update db collection { :language "Clojure" } doc {:upsert true})] + (is (not (mgres/updated-existing? result))) + (is (= 1 (mgres/affected-count result)))) + (is (mgres/updated-existing? (mc/update db collection { :language "Clojure" } doc {:upsert true}))) + (is (mgres/updated-existing? (mc/update db collection { :language "Clojure" } modified-doc {:multi false :upsert true}))) + (is (= 1 (mgres/affected-count (mc/remove db collection { :_id doc-id })))) (mc/remove db collection) (mg/disconnect conn))))