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!)

そのサーバー内で1つのデータベースのみを使用する場合は、次を追加するだけです。

(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 に答える