可以在不同的CouchDB数据库之间建立连接吗?我知道,我可以将所有数据放在同一个数据库中,但我想使用Ubuntus DesktopCoach,它有一些默认数据库,比如我想使用的contacts和notes。而且我不想用我的东西“垃圾邮件”这些数据库在视图的结果中,您将无法获得来自不同数据库的文档。您的程序可以简单地查询每个独立的数据库以获得所需的文档
更新-但是,如果您想在自己的数据库中为自己创建该数据的工作副本,可以使用复制将数据拉入数据库。然后,您可以根据需要对数据进行任意处理,并通过复制
如何使用evetly查询既有map又有reduce的视图的map
以下是我目前在data.js中的内容:
function(data) {
var numRows = data.rows.map(function(r) {
return r
}); //this is returning an object that is the result of the reduce function
// but I want the total_rows of the map
标签: Couchdb
user-rolesaccess-rights
我需要创建一个CouchDB用户,它只能从任何数据库读取文档,但不能写入任何文档。就我而言,它不是默认支持的(描述了用户类型)
正如维基所说,每个数据库都有访问权限,所以我试图做的似乎不是使用CouchDB的最佳方式
不管怎么说,那样做太好了。您能给我一些关于如何实现这一点的提示吗?您需要在每个数据库中放置一个设计文档,以执行此规则。设计文档必须具有“验证功能”,用于检查用户是否具有写访问权限
这里有一章是关于官员的形式
更棒的是,验证功能只允许管理员修改文档,并限制普通用户只读访问。您可以找到
请帮帮我
我已经创建了一个名为Product的数据库
我已经创建了两个id为“P101”和“P102”的产品文档
{
“_id”:“P101”,
“修订版”:“5-8D1C4B5B7F6E65A5997D4EC5B34646E5F”,
“类型”:“产品”,
“姓名”:“衬衫”,
“hersteller”:“oska”,
“价格”:11.15
}
{
“_id”:“P102”,
“修订版”:“3-8ad956f0c524b1a2396ebdda1ed0afbe”,
“类型”:“产品”,
“姓名”:
我对CouchDB和Elasticsearch有问题。我用Docker来实现它。我在默认端口上有一个正常工作的couchdb容器。现在我使用这个容器:
registry.hub.docker.com/u/jeko/elasticsearch-river-couchdb/
我插入一个新的couchdb连接:
curl-X PUT'127.0.0.1:9200/_-river/testdb/_-meta'-d'{type:couchdb,couchdb:{host:couchdb,port:5984
在CouchDB中,当参数是字符串时,复制过滤器工作得很好。但是,我想知道是否可以改为发送数组。例如,我现有的工作筛选器接受查询参数user,并可以使用类似“tony”的值填充。但是,我希望能够检查多个用户,以便查询参数看起来像
{
"users": [
"laura",
"tony"
]
}
我在curl中尝试了这个方法,得到了{“error”:“bad_request”,“reason”:“invalid_json”}。我不确定无效的JSON在哪里
我有一个Angular6应用程序和一个PockDB 7,我计划复制到CouchDB服务器。当前选项仅为版本1.6中的CouchDB服务器
所以问题是,如果版本7中的一个复制表单PockDB到版本1.6中的这个CouchDB可以用于双向复制,那么不同的客户端可以通过这个CouchDB服务器交换更改
我在网上找不到与这个主题兼容的列表。。。
一些提示将被告知。CouchDB和PockDB使用相同的复制协议。couchdb2.x中引入了一些优化,但是在couchdb1.6中,db7仍然能够进行同步而不
大家好:如果我将新闻文章存储在一个具有不同类别(如“技术”、“金融”和“健康”)的数据库中,分布式数据库与RDBMS相比在这个系统中是否工作得很好?每一条新闻都会附上新闻文章以及其他一些新闻。不过,我想知道查询是否会更快
比方说,我从来没有超过一百万行,我想抓住最新(5小时内)的科技文章。我想这将是“给我所有技术文章”(可能是10000篇)的地图缩减,然后只剔除那些有最新时间戳的文章
我是否在考虑以正确的方式解决问题,DDB是否是最好的解决方案?几年后可能会有500万个项目,但即使如此……是否使
这些功能是什么
我在哪里可以看到他们是如何工作的
《CouchDB权威指南》没有解释它,真奇怪。来自《CouchDB权威指南》:
还有其他的设计文件
在上引入的功能
撰写本文的时间,包括
_更新和_过滤器,我们在这里没有深入介绍过滤器
功能见第20章,
更改通知。想象一个网络
将XML blob发布到
特定情况下您选择的URL
事件发生了。贝宝即时支付
通知就是其中之一。带着
_更新处理程序,您可以直接在CouchDB中发布这些,它可以解析
将XML转换为JSON文档并保存
信息技术CSV、多部
我有一个叫做“按日期报告数据”的视图,基本上是这样的:
function(doc)
{
if (doc.report_completed_timestamp)
{
emit(doc.report_completed_timestamp, doc);
}
}
它会发出这样的东西:
{
"id": "eade1035fb3dc87baba8bdf64b043c2c",
"key": [
2011,
我有一堆“会议”文档和一堆“用户”文档。A.
用户可能有多封电子邮件,并且一次会议可能在多封电子邮件之间进行
通过电子邮件识别的人
我需要通过会议ID查找用户,并通过
电子邮件
我的文档现在看起来像这样:
{
"type": "meeting"
"_id": "MEETINGID",
"emails": ["test1@example.com", "test2@example.com"]
// Lots of others things
}
{
"type": "user"
标签: Couchdb
long-pollingcouchappkanso
页面加载完成后,我将向couchdb longpoll提要添加一个_ChangesListener,以防万一,我将使用db模块中的函数
一旦添加了监听器,MobileSafari的加载指示器就会开始旋转,直到删除监听器后才会停止
问题
这让用户认为该应用程序在不断下载某些东西
问题
是否只有在收到变更通知时,才可以让mobile Safari的加载指示器旋转
如果没有,有没有办法完全阻止mobile Safari的加载指示器旋转?这对谷歌来说是个难题。一个可能的线索:您是否从document.r
我有一台运行Centos 6的新服务器,它有6个内核和16 GB RAM,等等
在此服务器中,我仅安装CouchDB,请遵循中的安装说明:
我运行测试套件,速度非常慢,例如30000ms
我在《CouchDB:权威指南》一书第24页中看到了652ms中的相同测试
我做错了什么
我一直在考虑为jersey的jcouchdb对象实现一个对象池。现在我在问自己,将jcouchdb实例交付给资源端点的最佳方式是什么
我希望池中有一个方法来请求jcouchdb对象并释放它,以便重用它
我的第一个想法是将InjectableProvider实现为单例,并在资源端点中使用注释来“获取”它。然后,InjectableProvider从对象池返回一个jcouchdb对象,并将其标记为忙碌。在使用jcouchdb对象之后,如何释放它?我会为每个资源端点实例请求一个jcouchdb对象,即
我试图在CouchDB中对文档层次结构进行建模,以便在我的系统中使用,这在概念上类似于博客。每个博客帖子至少属于一个类别,每个类别可以有许多帖子。类别是分层的,这意味着如果一篇文章属于层次结构“CatA->CatB”(“CatB在CatA中”),那么它也属于CatA
用户必须能够快速找到类别中的所有帖子(及其所有子帖子)
解决方案1
post类型的每个文档都包含一个“category”数组,表示其在层次结构中的位置(请参阅)
解决方案2
post类型的每个文档都包含表示其在层次结构中的路径的“c
我编写了一个服务,它在启动时执行以下操作:
启动CouchDB
向CouchDB发出拉复制(+连续)请求
监视活动任务,使“进度”达到100,然后再将其视为准备就绪
但是,我正在处理的数据库相当大,因此复制任务需要很长时间才能达到100,尽管我最近才关闭了数据库,而且在此之前它有一个连续复制任务,所以它应该几乎完全是最新的。也就是说,增量复制应该是快速的
为什么它会花这么长时间考虑它已经几乎是最新的,我能做什么来加速它或者让我的服务在“进步”达到100之前认为它已经准备好了?后者似乎不太可能,因
我有数千份这样的文件:
{
country:"ES",
month: 4,
cars: [
{
name: "audi a5",
doors: 1,
PRICE: 40
},
{
name: "audi a6",
doors: 3,
PRICE: 100
},
]
}
将其转换为其他形式的最佳方
我尝试过使用CouchDB,但我发现如果没有语法高亮显示、代码完成、自动缩进和其他基本IDE功能,我甚至无法编写Hello World
最常见的IDE设置是什么,最好与eclipse集成?Apache CouchDB由简单的组件组成:HTTP和JSON。这两个方面都有Eclipse插件。您将从中受益的最大的“助手”工具是“couchapp”发布工具
“couchapp”工具获取一个文件系统目录,并将其序列化为Apache CouchDB(或Cloudant)数据库的JSON“设计文档”,用于Ma
这可能是一个非常奇怪和/或愚蠢的问题,但我尝试按照描述运行测试套件的段落进行操作:
通过单击Futon侧栏上的“test suite”导航到测试套件,然后单击顶部的“run all”启动
在屏幕截图和本地运行的实例中,我似乎无法在Futon侧栏中找到提到的“测试套件”
如何通过其他方式运行测试套件?查看Futon的来源,我在菜单中找到了这些注释,该项应位于:
<!-- These tests are run during installation, so this link is disa
我已经在couchdb上上传了独立附件。附件是jpeg格式的图像。如果我尝试使用curl获取此附件:
curl -X GET 'http://localhost:5984/dbname/docId/imgName'
我以以下格式获得MIME响应:
--+++++
Content-Disposition: form-data; name="Content-Type"
image/jpeg
--+++++
Content-Disposition: form-data; name="file";
我正在使用couchDB,但我在获取所需信息时遇到了问题。这是我钥匙的一个例子
[1,"Demo","March"]
[1,"Demo","May"]
[1, "No Demo", "May"]
我想得到所有中间有“演示”的键,我试着这样做:
http://localhost:PORT/database/_design/demo/_view/demoview?starkey=[{},"Demo",{}]&endkey=[{},"Demo",{}]
但是我会拿到所有的唱片,知道吗?你不
几天来,我一直在考虑使用我非常熟悉的CouchDB创建我的新游戏,但问题是-我需要在服务器端完成一些计算或逻辑(例如更新与任何玩家无关的对象,或者更改一些世界参数等等)。据我所知,CouchDB和类似的技术在前端传输所有服务器逻辑(除了映射和特权),但这样的事情可以在服务器端完成吗?或者,我可以创建一种桥梁,一方面与玩家通信,另一方面与基于文档的服务器通信吗
有没有人有过类似的问题/想法
关于,V您可以运行一个服务器进程,监听数据库/文档/视图更新,并相应地对世界的变化作出反应那是你的朋友。它有
在Cloudant和CouchDB中,删除文档与活动文档的比率较高通常是一种反模式(请参阅:)
问题:为什么这是一种反模式?每一个被称为
在复制过程中使用(还为操作中的每个文档创建一个墓碑)
尽管tombstone文档只包含少量元数据,但却有很多
墓碑文件的数量将影响已用存储的大小
Tombstone文档仍显示在中,因此需要进行复制处理
以及在构建视图时
那么,为什么这是一种反模式呢?(:或者这可能根本不是一种反模式,只是数据库的一种可能状态?对我来说,反模式是许多来到CouchDB的新用户不
我有一个复制问题,需要您的帮助。在couchDb复制中,我希望复制的方式是,在couchDb复制期间,我希望出于某种目的重置/更新文档的某些特定属性,然后这些编辑过的文档应保存在复制的数据库中,而不影响原始文档。例如:
名为Student的文档,具有id、名称、类等属性。
我希望以重置/更新其名称和类的方式复制此文档。
你能告诉我怎样才能做到吗。
谢谢。您不能在复制过程中更新文档
但是,您可以借助CouchDB过滤器将文档排除在复制之外,例如,防止所有修订版本高于1的文档被复制
如果您想拥有同一
我已经将cloudant(couchdb)上的updateHandler作为
req.query.section是一个数组,其值类似于[“芒果”、“苹果”、“香蕉”]。
当我试图将数据库中的查询作为[0]节读取时,我得到的不是mango(数组中的第一个元素),而是第一个字符“[”
我仔细检查了我的节点服务器上的阵列,它在那里工作得非常好。只是在数据库端,它的行为有点奇怪
这是什么原因造成的?我如何访问数组中的不同“元素”而不是字符?听起来像是您的req.query.section是一个带有编码J
我对couchdb完全陌生
如何将服务公开到本地开发远程服务器中?(在以后的步骤中公开后)
我尝试在远程开发服务器上安装,而且我没有使用Digital Ocean server,我正在使用本教程:
在安装并使用启动couchdb服务后,我无法使用web浏览器访问
couchdb-b
返回默认消息:ApacheCouchDB已经启动,是时候放松了
同样从comand line,我可以:
curlhttp://127.0.0.1:5984/
并收到正确的信息
如何通过web浏览器访问此开发服务器?我
我从couchDB数据库复制数据时收到“数据库遇到未知错误”消息。它开始复制,下载一些文档,然后在复制一些文档后失败。我无法确切了解为什么会发生这种情况
CustomPockError{状态:500,名称:“未知错误”,消息:
“数据库遇到未知错误”,错误:true,结果:Object}
原因可能有很多:
CORS问题,由于服务器端未启用这些问题:
如果要下载的文档太大,则可能存在超时问题:在这种情况下,您可以在数据库复制期间在couchDB配置和客户端上设置超时()
许多其他人:)
但是,我的
您知道如何更改CouchDB中的响应头吗?现在它有缓存控制:必须重新验证
这里有一篇优秀的文章()提供了有关CouchDB复制的有用信息。通过查看文档,很容易找到复制筛选器的参考(例如)
然而,它们似乎都涉及过滤提要将发出的更改。我希望主CouchDB发出所有文档,然后几个从属服务器只存储符合其ID范围的文档
是否可以在设计文档中使用过滤器执行此操作
否则,是否可以通过从机上的验证文档更新功能和主机上的推送复制来实现这一点
从机和主机实际上是误导性的,因为信息将被插入到“从机”中,每个“从机”都需要信息的子集 似乎没有进入新的wiki,但是是的,您可以通过在复制文档中
安装couchdb 2.0后,文档要求您:
安装和初始启动后,请访问Fauxton
. 您将被要求进行设置
CouchDB作为单节点实例或设置集群
这会妨碍安装过程的自动化。
当你决定一个或另一个选项时,到底发生了什么?
通过API调用可以获得相同的结果吗
谢谢你的见解
沃尔克当然可以:)
存储库中的文档
集群设置Api
如果您希望手动配置CouchDB集群,CouchDB将公开
\u集群\u设置端点。安装和初始设置之后。
我们可以设置集群。在每个节点上,我们需要运行以下命令
设置节点:
c
标签: Couchdb
replicationdatabase-backupscloudantbackup-strategies
我的cloudant DB中有足够的数据,如果我丢失了数据,这将是一个问题,因此我现在正在研究一种好的/可靠的(/免费!)定期备份数据的方法
我已经阅读了文档,并建议通过复制使用备份()
这里的方法似乎是:
1.通过复制进行完整备份1天
2.在随后的几天中对不同备份进行增量备份
这里似乎有两个缺点:
1.备份仍在cloudant中,因此我要支付全额费用,而不是将其转移到更便宜的长期存储替代品
2.不清楚在您循环复制时所述方法实际如何工作(例如,如果“完整”复制是在星期一进行的,则每隔一天进行一次
我知道在openstack/openshift上有couchdb 1.6的实现。但我正在寻找最新的v2.0
如果没有,那么CloudFoundry呢,它上面有couchdb2的实现吗
如果没有预制的实现,有人能告诉我一些关于如何实现的好说明吗
Mike您可以通过多种方式使用couchdb:
as CF服务
作为外部安装
作为应用
要将其作为服务使用,您需要有一个service Broker和管理员访问您想要使用的Cloud Foundry安装。管理员访问权限是将服务添加到CF并向每个CF用户公开
我使用EktorpAPI从CouchDB获取数据,但要获取500万条记录,在独立机器上需要8分钟(Apporx)。有没有办法更快地录制唱片
我在couchDB数据库上创建了视图,视图结果包含5m条记录
List results=db.queryView(query,Map.class)
其中db是Ektorp API中CouchDbConnector类的实例。您找到解决方案了吗?没有,但目前我们正在使用Talent工具批量(10000)获取数据,但也需要相同的时间。这很遗憾(您找到解决方案了吗?
我是electron、PockDB、couchdb和stackoverflow的新手……我有一个项目,需要制作一个能够在线和离线工作的桌面应用程序。换句话说,当不同平台的用户在脱机模式下使用我的应用程序时,数据将保存在本地服务器中,并在联机时同步。我发现我可以使用PockDB和couchdb,但问题是当我在不同的机器上尝试我的电子应用程序时,couchdb中的数据库没有更新。我发现couchdb是一个远程数据库,然后我尝试了IBMCloudant,它也没有更新。有什么办法可以解决这个问题吗?您能
我已通过helm安装在本地(minikube)运行OpenWhisk:
helm install openwhisk-deploy-kube/helm/openwhisk \
-n openwhisk \
--namespace openwhisk \
--set whisk.ingress.apiHostName="$(minikube ip)"
当尝试使用环境cloudant\u主机绑定cloudant(CouchDB)时,指向minikube ip:
wsk package
我已经使用couchdb很长时间了,我们通过cookie auth进行身份验证。现在我们想开始测试代理身份验证,但我不太明白它是如何工作的
我已经激活了它,包括“chttpd/authentication\u handlers:”部分中的值“chttpd\u auth,proxy\u authentication\u handler:”但是我如何指示令牌x是针对用户y的
我不明白它是怎么工作的
我希望有人能帮我举个例子。谢谢。在代理身份验证中,您正在其他地方进行身份验证。那个
其他地方是代理,或
我有一个注册页面,要求用户输入用户名和电子邮件地址
我需要检查用户名+电子邮件是否可用。如何仅通过一个HTTP请求来实现这一点
顺便说一句,用户名用作docID
我现在正在做的是检查docID是否存在,然后使用视图检查电子邮件地址的可用性,但这是两个HTTP请求
我考虑使用一个视图来发出[username,email]作为键,并使用“key”参数=[username,email]查询该视图。但是,如果用户名和电子邮件属于不同的现有用户,这将不起作用。Jason。Sam的解决方案很有帮助,但正如你
生成新couchapp时,我得到以下结构:
appname
├── _attachments
│ └── style
├── evently
│ ├── items
│ │ └── _changes
│ └── profile
│ └── profileReady
│ └── selectors
│ └── form
├── lists
├── shows
├── updates
├── vendor
│ └──
在非复制场景中(或者我们只有一个写主机的场景),下面的方法可以作为一种快速的方法,为小型内部客户数据库提供一个文档自动增量id
插入新客户查询以获取元数据时
然后添加文档计数+已删除文档计数=自动生效
将文档上的属性设置为.oldDBCompatidThatClientSusedTo=auotIncId
这将意味着序列化/同步获取数据库元数据和写入文档的过程,但考虑到每天新增20个客户,这不是问题 我可以想出几种方法:
创建一个返回max(id)的视图,只需将max(id)+1分配给新项目(尽
使用PockDB插入数据后,我尝试db.getAll()检索所有文档,并db.get()检索单个文档,但返回的对象中没有一个包含插入的值
我做错了什么
新邮袋('idb://test,函数(err,db){
文件={
测试:“foo”,
值:“bar”
}
db.post(文档、函数(错误、数据){
如果(错误)控制台。错误(错误)
else console.log(数据)
})
db.allDocs(函数(错误、数据){
如果(错误)控制台。错误(错误)
else console.log(数据
我想创建一个学生数据库,其中包含有关学生的详细信息-id、姓名、地址、成绩单、电话等。
我创建了一个这样的结构:
{
"ssn" : "121-23-1232",
"name": "Grace Johnson",
"address": [
{"Street Address": "190 Pinehill place",
"City": "Belmont",
"State": "CA",
"ZipCode": "08250"
}
],
"
我想复制CouchDB数据库
遗憾的是,我犯了一个错误:
$ curl -X POST -H "Content-Type:application/json" -d '{"source":"https://kirelabs.cloudant.com/detexify","target":"detexify"}' http://localhost:5984/_replicate
{"error":"checkpoint_commit_failure","reason":"Failure on sou
我需要在数据库中保存系统事务uuid、源、目标等中所有事务的元数据
我需要创建一个视图,统计每个目的地的所有唯一源。
例如,如果事务的src dst对为:
dst1,src1
dst1,src1
dst1,src2
dst2,src3
我想得到:
dst1,2
dst2,1
这是因为src1和src2是为dst1计数的,我不想对src1计数两次
我如何在Couchdb中实现这一点
此外,是否有办法只获取具有X个以上唯一源的目的地?您问题的第一部分在CouchDB中很棘手,CouchDB的设计不适
我对CouchDB很陌生。我知道我可以创建从CouchDB之外的东西调用的reduce函数。但是,如果我希望CouchDB在向DB添加新文档时自动执行某些操作,该怎么办?例如,假设我有这个数据库:
{_id:1, type:stats, meanscore:3}
{_id:2, type:event, date:02/01/2016, score:4}
{_id:3, type:event, date:02/02/2016, score:2}
现在假设我向数据库发送一个新的“事件”文档。cou
很清楚如何进行过滤复制以仅获取某些文档
然而,我想更进一步,只从这些文档中获取某些字段
目标是确保目标数据库中不存在不需要的字段;目标数据库的文档应该只有我指定的字段 我怀疑这是可能的。筛选函数仅确定文档是否将被复制。您需要的是与复制关联的更新处理程序,但这是不可能的。您提到了“不需要的”字段。你能提供一些背景资料来说明为什么你想去掉一些字段吗?这将使我们有机会更广泛地研究可用的选项。@AlexisCôté感谢您的投入——我想您回避的解决办法是根本不使用复制;也许按照更改提要并调用一些逻辑,以这
当我们需要CouchDB中的服务器端查询时,使用列表函数可以起到作用。但问题是:假设我们需要来自两种不同文档类型的一些字段。我们可以通过以下查询获取这两个文档:
views: {
myview: {
map: function(doc){
if (doc.type === 'mytype') {
emit([doc.mykey, 0], {
field1: doc.field1
});
在我的公司,我们使用IBM Domino已有十多年了。我们使用它来构建支持复制的离线应用程序。它工作得很好,但我们需要使用IBMNotes客户机来允许此功能,而且它在移动设备上不起作用(当然,除了Windows笔记本电脑)
我正在寻找其他解决方案来构建离线优先和多支持(web)应用程序。我认为CouchDB+PockDB是最好的解决方案。但是要替换Domino,我必须替换授权特性
Domino在数据库ACL中有许多级别的权限(管理者、设计者、作者、作者、读者等等)。
对于每个文档,我们可以添加一
我在源代码库()中寻找伪代码或实际代码,定义CouchDB如何计算seq值
查看文档中的技术概述:它说:
对数据库实例的每次更新都会生成一个新的序列号
但它不涉及如何。我认为它可能依赖于实现,看看它所声明的复制协议文档:
序列ID:
由Changes提要提供的ID。它必须是递增的,但不一定总是整数
这个问题有些关联,因为它询问如何计算文档的另一个组件,rev:
您可以找到有关变更顺序内部的一些信息
序列号反映文档更新序列的集群状态,该信息被编码到序列号中
序列号的数字部分是每个集群节点中文档更新
下面是config local.ini文件
[jwt_auth]
required_claims = sub
[jwt_keys]
hmac:_default = aGVsbG8=
[chttpd]
authentication_handlers = {couch_httpd_auth, cookie_authentication_handler}, {couch_httpd_auth, default_authentication_handler}, {chttpd_auth, jwt_a
我们的数据库变得太大,我们需要根据过滤器(即创建的日期字段)将较旧的记录归档到归档数据库中。最快最简单的方法是什么?只要代码易于理解和维护,大多数语言都是可以接受的
这需要是一项可以定期运行的任务,例如每周运行。您可以采用以下策略:
1) 设置单向筛选复制,请参阅。您的筛选功能必须检测并拒绝更新的文档和删除的文档
2) 可选地向目标数据库添加validate\u doc\u update功能。它还可以拒绝删除,以确保删除操作不会意外通过。差不多
validate_doc_update: func
上一页 1 2 3 4 5 6 ...
下一页 最后一页 共 46 页