我开始探索CouchDB,我对以下内容感兴趣:
对不起,如果这个问题有些主观.我是"可以存储","分布式商店"或类似这样的概念的新手.我真的很想知道他们有什么共同之处,并希望对所有这些有所了解.如果我想编写与此类似的产品,我需要准备什么?
这与标题为"错误关于'无效JSON'与couchDB视图但json很好"的问题略有不同:我不想上传文件只输入一个简单的文档.
我试图使用的例子实际上来自O'Reilly的书"CouchDB:The Definitive Guide",我很确定我之前已经尝试过并让它运行起来.这是命令:
curl -X PUT http://username:password@127.0.0.1:5984/albums/6e1295ed6c29495e54cc05947f18c8af -d '{"title":"There is Nothing Left to Lose","artist":"Foo Fighters"}'
Run Code Online (Sandbox Code Playgroud)
数据库相册存在且用户名和密码正确.我用JSONLint检查过这个并且JSON是有效的,我很茫然......可能是CouchDB服务器本身存在问题,但它看起来运行正常......任何想法?这让我疯了!
谢谢
我有一个疯狂的想法,其中包括将一些clojure代码放入CouchDB并编写查询它的视图.我不想将clojure代码存储为纯文本,因为那时我不得不担心在视图中解析它.不需要保留格式和注释,但代码应该能够在不改变结构的情况下进出数据库.关键字,符号和字符串都应保留其原生类型.此外,我希望代码看起来优雅,高效.
我想把事情表示如下:
赞赏批评,经验和想法.
编辑:如果我尝试使用clojure.contrib中的json函数读取和编写JSON代码,会发生什么:
user> code
((ns bz.json.app (:use (ring.middleware file))) (defn hello [req] {:status 200, :headers {"Content-Type" "text/plain"}, :body "Hello World!"}) (def app (wrap-file hello "public")))
user> (read-json (json-str code))
[["ns" "bz.json.app" ["use" ["ring.middleware" "file"]]] ["defn" "hello" ["req"] {"body" "Hello World!", "headers" {"Content-Type" "text/plain"}, "status" 200}] ["def" "app" ["wrap-file" "hello" "public"]]]
Run Code Online (Sandbox Code Playgroud)
对于上面的第4行,有一点需要完成,就像第2行一样.看起来它是一个库项目,除非在某个地方有一个我不知道的功能.
有了这样的库,这就是调用它的样子:
user> (= (json-to-code (read-json (json-str (code-to-json code)))) code)
true
Run Code Online (Sandbox Code Playgroud) 我刚刚开始阅读MongoDB和CouchDB等NoSQL技术.我很想知道我是否可以使用MongoDB或任何NoSQL技术来替代核心数据应用程序.
核心数据应用程序可能需要很长时间才能学习和实现,特别是如果您的应用程序很复杂并且您只想进行一些简单的添加,编辑,删除和查询(CRUD内容).
因为它看起来像JSON,看起来它可以运行得非常快; 我对NoSQL over Core Data的实现很感兴趣.
我可以将MongoDB作为本机运行吗?我做了一些谷歌搜索,但我真的无法得到我追求的具体答案.
如:
我不确定iphone在iphone平台上的优势是什么,是否支持,如果我提交一个带有NoSQL的应用程序,苹果团队会否认它吗?
谢谢
我想删除所有foo等于x的文档.看起来像一个非常基本的操作,但我无法弄明白.
我知道如何删除单个文档,但这还不够好 - 我可能不得不一次删除几千个.
如何在CouchDB中批量删除文档?
我正在研究使用CouchDB的可能性.我听说它类似于Lotus Notes,每个人都喜欢讨厌.这是真的?
以下是实现版本控制的可行策略(使用"example"作为示例文档类型):
有一个原始文档,其中类型字段名为example_original.
对文档的后续更改都具有类型example_change和example_original文档的id作为键.此更改还将带有时间戳.
保留一个类型为example_current的doc,它是example_original的结果,所有example_change都是"applied".新的example_change文档将自动应用于此文档.
查找特定版本将包括检索example_original文档并应用所需的更改(主要是某个时间戳,但也可能是一些更改).
我应该提一下,我的用例将涉及对原始的有限数量的更改.大多数更新将包含新的原始文档.虽然这是我目前的用例,但我也会对涉及许多变更会导致的问题感兴趣.
你在这种方法中看到了什么利弊?
我正在寻找一种方法来自动化MongoDB或CouchDB等数据库的模式迁移.
最好,这个仪器应该用python编写,但任何其他语言都可以.
我想尝试使用CouchDB进行我正在编写的新项目(作为一种爱好,不是我工作的一部分).我非常精通PHP,但我根本没有用CouchDB编程,而且我对非SQL数据库也没什么经验.
从查看CouchDB的"PHP入门"文档,他们建议使用第三方库或使用RESTful HTTP API编写自己的客户端.我觉得我现在不想自己编写协议实现,但是你编写PHP与CouchDB一起工作的经验是什么?
我还没有测试任何替代品,但我看了一下:
欢迎任何人希望在每个图书馆分享的意见.