将显示一个默认主页,对我来说,它告诉我“MongoDB配置是必需的”.它告诉我,我可以在同一个文件中配置它:src / app-name / db / core.clj.我尝试了很多不同的东西,但我目前正在尝试的以及对我来说最有意义的是以下内容:
(defonce coll "collection-name")(defonce db (let [uri "mongodb://127.0.0.1/db-name" {:keys [conn db]} (mg/connect-via-uri uri)] db))
不幸的是,当我连接浏览器时,我仍然得到相同的“MongoDB配置是必需的”消息.我也尝试使用CURL和我的应用程序中定义的各种http路由访问数据库但没有成功.但奇怪的是,这在REPL中起作用.
编辑:更清楚,以下是REPL中的示例:
clj-project-name.db.core> (get-replIEs 2)["mew-mew" [1.0 "hello"]]
在代码中我有以下几件:
(ns clj-project-name.routes.home (:require [compojure.core :refer :all] [clj-project-name.layout :as layout] [clj-project-name.util :as util] [clj-project-name.db.core :as project-db]))(defn get-replIEs [ID] (mc/distinct db coll "replIEs" {:_ID ID}))(GET "/user" [ID] (user-page ID)) ; defined in home-routes insIDe namespace clj-project-name.routes.home (defn user-page [& [ID]] ;defined insIDe namespace clj-project-name.routes.home (layout/render "user.HTML" {:ID ID :replIEs (projectl-db/get-replIEs ID)}))<h1>User {{ID}}'s page</h1> ; part of the HTML template<p> <b>ReplIEs:</b> {{replIEs}} </p>
这是浏览器中加载的页面:
正如我们所看到的,回复列表是空的,当它应该是[“mew-mew”[1.0“hello”]]时,就像我们在REPL中看到的那样.
编辑:另一个奇怪的是,只要在键入lein ring server后加载浏览器,我就可以在终端中看到mongodb的以下输出:
2014-12-02T21:16:57.941-0500 [initandListen] connection accepted from 127.0.0.1:38854 #28 (5 connections Now open).
我还可以做些什么来连接到MongoDB?谢谢你的帮助.
解决方法 我按照你的步骤使用luminus模板创建了新的Luminus项目.我还研究了生成的代码,默认主页是100%静态的.因此,它显示MongoDB配置是必需的,无论它是否实际配置:
(defn home-page [] (layout/render "home.HTML" {:content (util/md->HTML "/md/docs.md")}))
换句话说,它只是将resources / public / md / docs.md呈现为.HTML并显示它,始终是相同的HTML页面.
至于你的配置,它绝对没问题.
至于你的user.HTML页面,实际问题是用户页面路由中的ID是一个字符串,而数据库中的_ID是一个数字.所以,而不是(获得回复2)你正在调用(获得回复“2”).尝试使用字符串化的_IDs,或者首先使用read-string
function或Long / parseLong解析传入的ID:
(defn user-page [& [ID]] (layout/render "user.HTML" {:ID ID :replIEs (-> ID Long/parseLong ; throws NumberFormatException project-db/get-replIEs)}))
我建议使用字符串化的_IDs,因为它比将字符串解析为数字更容易,更安全.
总结以上是内存溢出为你收集整理的在Clojure Luminus Web框架中配置MongoDB全部内容,希望文章能够帮你解决在Clojure Luminus Web框架中配置MongoDB所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)