1

作为 Clojure、Noir 和 Monger 的新手,我面临的只是一个小问题。正如 Noir 中的标准一样,我将模型保存在 src/app_name/model_name.clj

我面临的问题是我需要在每个模型中与 MongoDB 建立相同的连接,因为我不知道如何正确“共享”连接,如下所示:

(ns app.models.theme
 (:require [monger.collection :as mc]
            [monger.core :as mg]))

(mg/connect!)
(mg/set-db! (mg/get-db "app_development"))

; Do stuff

我将如何通过整个应用程序共享此连接?谢谢你。

4

1 回答 1

2

如果您总是连接到同一台服务器,那么只需将其添加到您的 server.clj (src//server.clj)

(mg/connect!)

如果您只在该服务器中使用一个数据库,您只需添加:

(mg/set-db! (mg/get-db "dbname"))

到同一个文件

否则,您可以例如在入口点或代码中的任何位置执行

(defpage "/dbname/tothis" {:keys [dbname]}

  (mg/with-db (mg-get-db dbname))).....
于 2012-07-31T16:57:09.073 回答