Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用monger和Clojure向mongodb添加文档?_Mongodb_Clojure_Monger - Fatal编程技术网

如何使用monger和Clojure向mongodb添加文档?

如何使用monger和Clojure向mongodb添加文档?,mongodb,clojure,monger,Mongodb,Clojure,Monger,我以前从未使用过MongoDb,也从未使用过Monger。我正在开发Clojure应用程序。我只是希望能够添加一个文档作为备份。这是我的一些代码: (defn convert-data-to-be-persisted [session-data] (convert/to-db-object session-data)) (defn persist-data-to-database [converted-document-to-persist] (mc/update "timeout_d

我以前从未使用过MongoDb,也从未使用过Monger。我正在开发Clojure应用程序。我只是希望能够添加一个文档作为备份。这是我的一些代码:

(defn convert-data-to-be-persisted [session-data]
  (convert/to-db-object session-data))

(defn persist-data-to-database [converted-document-to-persist]
  (mc/update "timeout_discovery" {:sessions converted-document-to-persist} {} :upsert true))
我正在使用monger:

我的println和timber/spy语句正在将这些数据打印到终端输出:

在将数据持久化到数据库中:{serverUsed:/127.0.0.1:27017,UpdateExisting:false,upserted:{$oid:510680444077296acfa67d6b},n:1,connectionId:4,错误:null,确定:1.0}

如果我在命令行登录MongoDb,则集合似乎仍然为空:

db.timeout\u discovery.find {u id:ObjectId51017c5fa86c7bcc3d423c4d,超时:发现}

有一个文档,但除了超时和发现之外,文档中没有任何内容

我在这里寻找,试图找出该做什么,但我尝试的每一个变体都失败了:

这一行:

(convert/to-db-object session-data))
返回此文档,但我在此处将其缩短,因为原始文档很长,并且包含了您在此处看到的更多HTML:

在要持久化的get数据中,要持久化的文档是:{e6e20a2c-cb46-498c-b2f2-743e2b38b917:{行程作为字符串:\n\t\n\t\thttp://www.super.com/mexico/bars/2012-food-drink-award-nominees-best\class=\fn名字url\>2012年食品和饮料奖提名人:最佳新啤酒酒吧\n\t\t\t\t\n\n投票现已结束\n在此处查看结果在餐厅+酒吧查看更多信息

\n\t\n\t\nhttp://www.super.com/mexico/bars/2012-food-drink-award-nominees-best-new-beer-bar\>http://media.super.com/images/100131935/150/113/image.jpg\/>\n\n\n\t\n\t\thttp://www.super.com/mexico/sex-dating/summer-dates-in-mexico-bars-and-restaurants\class=\fn给定名称url\>夏季日期:墨西哥酒吧和餐厅的餐饮日期\n\t\t\t\t性与约会

\n\n\n在夏季约会期间,在墨西哥的热点地区吃晚餐或喝饮料。如果你想追求一个沉迷于美食的伴侣,本季就不要只吃标准的晚餐和看电影了。看看五种食物和饮料-纽约以饮酒为主题的夏季约会…

\n\t\n\t\nhttp://www.super.com/mexico/sex-dating/summer-dates\>http://media.super.com/images/100453911/150/113/image.jpg\/>\n\n\n\t\n\t\thttp://www.super.com/mexico/restaurants/organic\class=\fn名称url\>有机\n\t\t\t\t食品和饮料、美国、亚洲>\n\n\n\n$\n\n\n\n\n\nhttps://foursquare.com/intent/venue.html\data context=\vcard-Content-Vince-50137\>保存到foursquare\n\n\n Tribeca fro yo狂热者可以在第二个位置满足他们所有的健康渴望有机健康食品吧。明亮的外卖店配有木镶板和一个白绿相间的柜台,还提供鲜榨果汁和冰沙,

Edit\n\t\n\t\n http://www.super.com/mexico/restaurants/organic\>http://media.super.com/images/100461855/150/113/image.jpg\/>\n\n\n\n\t\n 275克reenwich街,纽约默里街和沃伦街之间,10007\n\t\n\t\t\n\t平均课程:$9。美国运通,Disc,MC,…\t\n\nhttp://www.super.com/mexico/restaurants/organic\>\n\t\t\t\t\t\t\t\t\t\t \tGet信息\n\n\n\t\t,用户名:whoandwhy@geocities.com,创建于:2013-01-28813:41:53,ip地址:10.0.1.53,cookie id:timeout-kiosk5903266,问答:{你对什么感兴趣:[食物和酒吧],你和谁在一起:[成年人],你的电邮地址是:whoandwhy@geocities.com,你在纽约呆多久?:两周

那么,为什么这不能拯救

我没有在终端输出中看到任何错误,但是如果有错误,我希望得到关于如何捕获和查看它的建议


如果没有错误,我只是把MongoDb或monger的语法搞错了吗

这里是Monger的作者。您在什么环境中运行此代码?它可能是一种身份验证 问题Monger在默认情况下使用安全写入关注点,因此写入永远不会在静默状态下失败 就Monger而言,您仍然必须处理异常。根据服务器的响应 您已经发布了,写入成功,您可以在响应文档中看到ok:1.0


如果您对函数参数有疑问,请参阅Monger的文档。我强烈建议从REPL中的入门指南开始。

update中的第三个参数是您要设置的新对象。将空贴图作为新对象传递。这是正确的吗?我应该解释我已经尝试过的所有变化。我试过用几种不同的方法来交换论点的顺序。所有这些都没有区别。该文档没有到达MongoDb,我看不出有任何错误。