2

我在 MongoDB 中有一个集合,当在 clojure Web 应用程序中使用karras API {A clojure wrapper to the mongo java driver} 在该文档中给出一个字段时,我需要更新其中的某个文档?

我想出了这个解决方案,但是,它并没有像我预期的那样工作。

(ns addressbook.repository
  (:use karras.core
    karras.collection
    karras.sugar))

(def test-db (collection (connect) :mydb :user))

(defn no-of-docs []
  (count-docs test-db))


(defn insert-rec [rec]
  (insert test-db rec))

(defn fetch-rec []
  (fetch-all test-db))

(defn filter-db [data]
  (map #(dissoc % :_id) data))

(defn delete-rec [rec]
  (delete test-db (where (eq (str (:name rec)) (str :name)))))

mydb是我的 MongoDB 中的数据库,而user是我保存一些文档的集合。我需要删除 Document where :name字段与我传递给该delete-rec函数的 rec 映射的: name 字段匹配。

谢谢。

4

1 回答 1

1

尝试:

(delete test-db (where (eq :name (:name rec))))
于 2011-07-18T12:16:18.830 回答