我正在尝试使用couchdb lucene来查询关键字,构建一个couchdb视图。我希望lucene在不进行任何处理的情况下为它们编制索引
我正在使用“index”:“not_analysis”选项,但它仍然没有达到我的预期
当我查询/works/OL1000010W时,couchdb-lucene正在将其转换为小写并剥离第一个/字符
$ curl -s 'http://127.0.0.1:5984/editions_1k/_fti/_design/seeds/by_seed?q=seed:/
我删除了一个文档,但我仍然可以在\u changes中看到它,因此我可以看到上次有效的\u rev,该文档已被删除,因此获取id为的文档和上次修订仅返回:
{
"_id":"25efa4ec8489d8b89b34c5cad6000059",
"_rev":"3-a982bd6dccce8f405433f8453ab86880",
"_deleted":true
}
没有其他属性
在这种情况下我怎样才能恢复?在中看不到以前的版本\u更改。写入空文档(将\u deleted设置为fa
目前的问题如下:
SaaS将保留维护记录
95%的数据特定于每个用户,即不需要其他用户访问
5%的数据共享(并由所有用户贡献),如用于维护的部件
SaaS将作为CouchApp交付,即具有面向公众的CouchDB
所以我在每个用户的数据库和所有用户的单一数据库之间左右为难
每个用户的数据库似乎提供了更容易的备份和维护、更小的数据集和更容易的访问控制。从负面来看,我如何处理共享数据
是否可以为每个用户建立一个数据库,并为共享信息(部件)建立一个公共数据库?然后将零件文档从所有用户数据库复制到中
我们向用户公开couchdb,以根据他们的需要更新文档,问题是当前版本没有时间戳
有没有一种方法可以将couchdb配置为在修改文档时添加时间戳?这应该可以通过一个。您需要为您的数据库创建一个时间戳,并定义一个适当的更新函数来更新时间戳
标签: Couchdb
pugnode-modulesunexpected-token
布局。jade
doctype
html
head
title=title
link(rel='stylesheet',href='/stylesheet/style.css')
body
block content
extend layout
block content
h1 Add new contact
form(method="POST", action='/new_contact')
我在生产中的Couchdb日志中看到许多错误,数据库已经联机3年了。
清除这些日志记录好吗?如果是,如何解决
我的couchdb是linux服务器上的一个容器。(Ubuntu服务器)
有关日志记录的所有内容都很简单。最好继续提问,因为这是一个服务器维护问题,而不是与编程相关的主题。
我是CouchDB的新手,正在学习它。我没有遇到CouchDB对引用完整性的支持。
我们可以为CouchDB文档中的字段创建外键吗
例如,是否可以确保订单文档中使用的供应商名称在供应商数据库中可用
CouchDB支持引用完整性吗?
是否可以将文档中的字段作为主键?不,CouchDB不做外键,因此您无法让它为您处理系统的引用完整性。您需要在应用程序级别检查供应商
至于是否可以将字段作为主键,主键是_id字段,但是可以使用任何有效的json作为db上视图的键。因此,例如,您可以创建一个订单视图,以其
不太清楚该怎么称呼它,但在SQL中,我经常发现自己在开发时会做这样的事情:
DELETE FROM people WHERE name == "John"
当我刚刚使用批导入器导入了一组数据,并且想要清除一些结果,而不是清除整个数据集时,通常会使用这种方法。我如何在CouchDB中进行此操作?我可以很容易地制作地图功能
function(doc) {
if (doc.Name == "John")
emit(doc._id, null);
}
然后删除返回的ID…但这需
我已经搜索了所有地方,不知道如何获得CouchDB中特定数据库的所有设计文档的列表 下面是如何使用直接HTTP调用
http://localhost:5984/mydatabase/_all_docs?startkey=%22_design%22&endkey=%22_design0%22
下面是如何使用
令人惊叹的!您可能需要检查_design%2F,因为_designblah不是一个设计文档,但实际上它可能并不重要。意思是说:\u design/到\u design0。也许在你的源
我不认为我理解CouchDB是如何工作的。我的印象是,一切都在客户端运行,所以这难道不意味着它对于存储用户数据毫无用处,因为任何人都可以编写一个简单的脚本来访问这些信息吗?这对我来说毫无意义,我是不是全错了?这里有一本关于CouchDb的好书:这里有一本关于CouchDb的好书:除了map reduce和update操作之外,CouchDb中的所有内容都在客户端上运行。在此上下文中,客户机是指连接到数据库服务器的客户机,数据库服务器通常是在web服务器上运行的应用程序或脚本。其他数据库系统也是如
据报道
要更新现有文档,还需要发出PUT请求。在这种情况下,JSON body必须包含一个_rev属性,它让CouchDB知道编辑基于哪个版本。如果当前存储在数据库中的文档版本不匹配,则返回409冲突错误
我的目标是执行批量文档更新:
我的工作流程如下:
我的数据在谷歌文档电子表格中
我将电子表格数据复制并粘贴到
我使用cURL(如上所示)添加/更新文档
问题是,我第一次添加新文档时,一切都很正常,但下次发布相同的文档时,每个文档都会出现以下错误:
…{“id”:“28”,“错误”:“冲突”,“
对于linux系统,我从couchdb 0.10.0备份了一个旧数据库,基本上是/var/lib/couchdb目录的tar归档
将此数据转换为couchdb 1.0.1所需格式的过程是什么?如果我只是将文件恢复到其原始位置,则找不到它们。如果将它们放在/var/lib/couchdb/1.0.1中,则会出现以下错误:
{"error":"kill","reason":"{gen_server,call,\n [couch_server,\n {open,<<\"tes
我已经在运行CentOS 6.2的vagrant 0.9.0机器上安装了CouchDB
在Vagrantfile中,我添加了config.vm.forward\u端口59845985
在重新加载vagrant后,我尝试卷曲地址:curl-v localhost:5985,但结果不佳
* About to connect() to localhost port 5985 (#0)
* Trying 127.0.0.1... connected
* Connected to localhost
我正试图在ElasticSearch CouchDB river中使用CouchDB设计过滤器
当我们设置过滤器时,ElasticSearch使用的url似乎是:
问题是当我试图在ElasticSearch上查找我的文档时,我什么也找不到。
在转到CouchDB更改流url后,我注意到完整文档没有发送到ElasticSearch
当我卸下过滤器时:
然后发送整个文档,我可以在ElasticSearch中找到它
那么,是否可以使用CouchDB设计过滤器,同时接收整个文档,以便ElasticSea
我有一个数据库,其中包含的文档大致如下:
{"created_at": some_datetime, "deleted_at": another_datetime, "foo": "bar"}
假设我们将来不需要处理“deleted_at”,那么在数据库中获取未删除文档的计数就很简单了。创建一个简化为以下内容的视图(使用UTC)也很简单:
…这意味着39份文件被标记为在2012年7月30日创建,12份文件被标记为在2012年7月31日删除,依此类推。我想要的是一种高效的机制,用于获取2012-
我遵循指南从开始
对于启用CORS,指南建议使用以下命令:
$ curl -X PUT $HOST/_config/httpd/enable_cors -d '"true"'
$ curl -X PUT $HOST/_config/cors/origins -d '"*"'
$ curl -X PUT $HOST/_config/cors/credentials -d '"true"'
$ curl -X PUT $HOST/_config/cors/method
我刚刚开始使用CouchDB,并寻找一些最佳实践。我当前的项目是一个类似CMS/Wiki的工具,它包含许多页面的内容。到目前为止,这似乎很适合CouchDB。接下来我要做的是跟踪每次访问站点上的页面
每个访问日志都应该包含时间戳、被访问页面的URI以及访问该页面的用户的UUID。在CouchDB中构造此访问日志信息的最佳方法是什么?很可能任何给定的页面每天都会被访问100次
到目前为止,我有一些想法:
每页1个CouchDB文档,包含所有访问日志
每个日志1个CouchDB文档
如果每个日志只有
我对NoSQL非常陌生。我的用例与此相关。。。。许多用户发布消息,我们将其作为不同的文档存储在cloudant中
{
id:random,
userid:xxx,
timestamp: 1449216912282,
msg: "Hi..."
}
我想找出在过去5天内没有发布任何内容的用户-此外,我想知道他们在过去5到10天内是否发布了任何内容。如果有,则向用户发送提醒邮件以激活
视图、搜索、cloudant查询哪个选项更好?假设我们每小时有100
我正在使用CouchDB/PockDB作为Cordova映射应用程序的离线互动程序服务器。CouchDB 215mb db在手机上的初始复制在本地网络上需要两个多小时。CouchDB到CouchDB的复制在本地网络上需要6分钟。Db包含65000个文档,其中png附件为1-2KB
function managePouchDB(networkState) {
// replicate tiles from local workstation
var remoteCo
为cloudant中文档中发生的更改创建审计跟踪记录的正确方法是什么。需要创建一个单独的文档,该文档具有任何可区分的文档类型(如审计),记录任何文档中发生的更改(更新、删除等)
观察到一种叫做更新处理程序的方法,但这听起来更像是在将文档推入数据库之前使用某些内部字段(如时间戳)更新文档的方法
从关系数据库中进行类比,需要一个触发器,该触发器与表的更新和删除操作相关联,并在审计表中创建一个单独的记录,记录当前事务中更改的列。尽管Cloudant保留每个文档的修订历史,这不应用作版本控制系统,因为旧
我是CouchDB的新手,假设我的_changes提要包含8000行,最后一行是8000行。然后我更新了一个文档(之前已经用seq=4000xxxx,rev=1-xxxxx进行了更新),它将作为seq=8001xxxx,rev=2-xxxx反映在变更提要上,对吗
我的问题是CouchDB实际上是如何处理这个问题的?当我更新文档时,它会得到最新的seq id(8001 xxxx),但哪个文档会取代它原来的位置(seq 4000 xxxx)?既然我们正在更新内容,每个文档只有一个条目,那么chang
因此,我们一直在试图弄清楚,如果您调用/u stats,couchdb似乎会返回什么样的_stats。问题是这些实体的单位没有很好地定义。例如,这是httpd.requests返回内容的示例:
"httpd": {
"requests": {
"description": "number of HTTP requests",
"current": 191458567.0,
"sum": 191458567.0,
"mean": 71.1509999999999
我的couchDB服务器磁盘空间不足。我想装入一个新卷。可以告诉couchDB使用这个新磁盘来存储应该插入到旧数据库中的新数据吗?或者我需要完全定义一个新的数据库?您应该停止CouchDB,将数据库复制到装载磁盘中的新位置,并通过配置文件设置新参数
[couchdb]
database_dir = /{mnt-disk}/{database-dir}
然后启动CouchDB,并确保具有访问新数据库位置的正确权限。在这里询问磁盘和卷的问题是错误的。这个问题与编程无关。但这样我就无法访问旧数据库。
我目前正在探索CouchDB复制,并试图找出配置文件[replicator]部分中的最大复制重试次数和每请求重试次数配置选项之间的区别
基本上,我想配置本地couchdb到远程实例的连续复制,这将永远不会停止复制尝试,考虑到离线的可能连续时间(几天甚至几周)。因此,我希望有无限次的复制尝试,最大重试间隔为5分钟左右。我能做这个吗?我需要更改默认配置来实现这一点吗?以下是我在CouchDB邮件列表中得到的回复:
如果我们讨论的是Coach 1.6,则该属性会根据请求重试
控制当前复制要对其执行的尝
我正在开发一个CouchDB后端,它将作为使用PockDB的React应用程序的中心存储。阅读安全部分的文档:,不需要管理员帐户或任何类型的用户帐户来创建用户记录。现在,他们将无法创建任何文档,因为我禁用了管理方。但我也不希望有一个开放的API端点只允许任何人编写数据。我有没有办法限制这一点
我试着看看是否可以设置这样的安全文档:
curl -X PUT http://admin:admin@localhost:5984/_users/_security -d '{"admins":{"name
我面临一个问题。我正在尝试在AWS云上运行对等本机二进制文件。我的couchdb已经在同一个AWS实例上运行了
CORE\u LEDGER\u STATE\u COUCHDBCONFIG\u COUCHDBADDRESS=0.0.0:5984
CORE\u LEDGER\u STATE\u STATEDATABASE=CouchDB
用户和密码也可以
但我在运行命令对等节点启动时出错
2018-12-07 08:26:08.622 UTC [couchdb] CreateSystemDataba
我需要获取游戏数组列表中存在的射箭文档。如何使用CouchDB选择器
[{
"name": "John",
"games": ["Archery", "Board sports"]
},
{
"name": "Sara",
"games": ["Fishing", "Archery"]
},
{
"name": "Tara",
"games": ["Decathlon"]
}]
您可以使用$elemMatch:
{
"selector":
是的,我是一名SQL骑师(sorta),即将进入CouchDb Map/Reduce世界。我想我已经了解了COUNT(*)SQL aggregator函数对于CouchDB数据集的等效功能是如何实现的:
地图:
减少:
function(keys, values, rereduce){
return values.length;
}
我认为这是有效的,返回的内容如下:
"super fun C" 2
"super fun D" 2
"super fun E" 2
"super
我只是想知道,在设计面向文档的数据库时,是否有任何指导原则,我特别谈论的是CouchDb
我知道无计划的事情可以按照我们想要的方式发展,但是,有什么最佳实践吗
提前谢谢=D我不知道CouchDB的具体情况,但在模式设计方面有一些问题。Jan Lehnardt最近写了一篇关于数据建模的有用概述(我不会像你正确指出的那样称之为“模式”设计)
这与CouchDB没有多大关系。MongoDB需要一致的数据模式进行索引,CouchDB则不需要。映射/缩减阶段,并将任何无架构的数据规范化为统一索引。@mik
我想在couchdb中创建一个动态视图,我想问一下如何在coach视图中访问参数key。
例如:
function(doc) {
if ((doc['couchrest-type'] == 'User') && ((doc['email'] != null) || (doc['login'] != null ))) {
if (doc['email'] == parameter[key]) {
emit(doc['email'],
我目前正在使用couchdb获取用户信息。用户可以在我的网站上有朋友。
我想显示所有添加“我”为好友的人,按“某些用户”为好友的人数排序
简化的文档如下所示
{
"_id": "some_id",
"Name": "Some user",
"lastMod": "1316300162",
"aFriends": [
{
"Name": Me",
"More": "More info ... "
},
问题
我希望能够通过命令行(见下文)在创建文档时附加一个/多个附件。我只能在Futon(Couchbase)中使用,但必须在创建文档之后
我尝试了以下方法:
curl -X PUT 'http://username:password@localhost:5984/client_info'
curl -X POST 'http://username:password@localhost:5984/client_info' -H 'Content-Type: application/json' -
有人知道我是否可以在couchdb 1.2中更改密码吗?要创建一个用户,我有一个表单,可以获取用户信息,然后像这样发布到_users数据库(“下面url中的用户”是代理的):
Couchdb 1.2为我生成密码哈希和salt,并存储用户。它工作得很好。为了更新密码,我尝试检索用户,删除密码和salt字段,添加密码字段,然后重新发布文档。我希望Coach能帮我重新计算密码和盐场并更新文档,但事实并非如此。密码\u sha和盐场未更新
// Update a user
$.get("/users/o
我对CouchDB的世界很陌生!我有一个数据库,所有用户都可以阅读,也可以编辑除设计文档以外的文档。有没有办法让特定用户只编辑他/她创建的文档。我正在使用CouchApp和jquery.coach.js插件假设您避免让所有用户都成为管理员,并且使用CouchDB的内置身份验证机制,我认为这是默认行为
有关创建常规用户的信息,请参见
有关用户身份验证和授权实际工作方式的更多详细信息,请参阅,特别是下面的部分,其中概述了CouchDB中的内置规则
只有管理员用户可以创建新用户,但没有任何东西可以阻止
如果更改序列号达到序列号的最大值,会发生什么情况。在_changes响应json中,最后一个序列是否为零。如果您得到的最后一个序列为零,那么我们是重新蚀刻旧的更改还是新的更改
在这种情况下,滚动是如何发生的。我们正在对一个非常关键的处理链使用“U更改”,希望了解您的输入。您可以在“couchdb IRC频道”或邮件列表、详细信息和链接中获得更好的回答:@Arun George您找到答案了吗?我也想知道它是如何工作的。
事实上,我在CouchDB前面使用Apache作为反向代理运行此程序:
<VirtualHost *:80>
ServerName abc.com
ServerAlias www.abc.com
ProxyPass /abc http://localhost:5984/abc
ProxyPassReverse /abc http://localhost:5984/abc
ProxyPass /_ses
我正在开发一个Web应用程序,使用PockDB作为本地数据库,CouchDB作为中央数据库。我使用PockDB的原因之一是我想在我的应用程序中利用离线支持。
然而,我遇到了一个小问题。脱机和再次联机时,PockDB不再同步。我必须刷新浏览器才能让它再次开始同步。一种解决方案是,即使应用程序处于脱机状态,数据库也会在脱机状态下继续轮询远程数据库,这将导致当它再次联机时,synchro会再次拾取。另一个解决方案是让用户手动告诉应用程序它再次联机,并从那里获取同步
我怎样才能告诉数据库重新开始同步?如
我在测试环境中使用Fauxton从测试服务器复制到本地服务器。我在另一个浏览器选项卡中登录到测试服务器,但尽管存在cookie,但复制仍然失败。解决方案是在远程复制URI前添加用户名和密码:
https://user:password@testcouchdb.mycompany.com:7984/mydb
有关更多信息,请参阅
(应在生产环境中审查或避免此方法。)
我的问题是在Pocket和couchDB之间同步。
我将设法从couchDb获得我的文档,并在邮袋中检查是否已有文档。因此,如果我们有一个冲突,我希望在客户端解决冲突。但我不知道如何检查是否存在冲突。
是否有办法检查数据库中是否存在给定的冲突(插入文档后或插入文档期间),并解决这些冲突
问候语您可以使用该插件,该插件提供了解决冲突的简单API。:)
是的,您需要为所有文档单独执行此操作。所以你可以事先做一个allDocs()来获取它们。Thx,我想这会对我有帮助。但据我所知,用db.replic
我已经能够使用PockDB模块从NodeJ创建数据库(在打开CORS之后)。因为我要为每个用户创建一个db,所以我还需要创建特定于db的凭据。如果直接与CouchDB交谈,我会使用他们的api:设置\权限或生成\ api \密钥,然而,当我利用PockDB进行所有CouchDB交互时,我希望有一种方法可以从PockDB中实现
我已经通读了所有的邮袋文档,并仔细研究了代码,但都没有用,所以我转向StackO,希望其他人能对这个问题有更多的见解:)
谢谢,
Paul除非您在pookdb中为此编写自己
使用我希望获得与查询匹配的文档数的计数,而不返回实际文档。有没有办法用当前的API实现这一点,或者有计划在不久的将来添加它?我不认为有办法只匹配文档的#个,但您可以使用字段参数限制返回到文档单个属性的内容,然后计算这些内容
我已经创建了_users数据库以及_security文档,并根据设置适当的安全性
然后,我创建了一个角色为“\u reader”的用户“test”,但当我尝试登录到Cloudant时,它无法识别该用户
_用户数据库包含一个文档:
{
"_id": "test",
"_rev": "1-96973497bc9c89989c4beed02e3f0b96",
"name": "test",
"roles": [
"_reader"
],
"type": "user",
一般来说,我对couchdb和map/reduce非常陌生。我有以下看法:
{
"_id": "_design/keys",
"views": {
"keys": {
"map": "function(doc) { for (var thing in doc) { if (doc.created_at != null) { emit([thing, doc.created_at],1); } } }",
"reduce": "function(key,va
我正在将文档从DB A复制到DB B,每次DB A的文档到达DB B时,我都想运行一个“存储过程”来删除DB A中的大部分字段(DB A是私有的,但有我想公开的附件)
到目前为止,我已经看到,这可以通过使用_changes提要(continuous)来实现,然后在每个文档上运行一个“update”处理程序
文档更新处理程序文档:
这似乎是CouchDB将为我实现的东西。。。(我还不确定如何完成上述任务)
是否有类似于“钩子”的东西可以在进入数据库的每个文档上运行
==编辑==
似乎我想在复制触发
在服务器上连接到CouchDB的应用程序中使用PockDB时,是否所有数据库都必须本地存储在应用程序和服务器上
我想创建一个数据库与10的1000的图像,但只需要在应用程序中的这些图像在任何时候少数
因此,理想情况下,我希望将整个数据库存储在CouchDB服务器上,并在需要在应用程序中显示时让PockDB下拉一些图像。这取决于您如何使用它
如果只使用远程数据库,那么本地不会存储任何内容
如果您将远程数据库复制到本地存储,那么您可以通过来控制复制的内容。这取决于您如何使用它
如果只使用远程数据库,
我想确保用户在任何给定时间点只登录一个设备。就像银行那样。如何在CouchDB身份验证套件中确保和实现这一点?如果我理解正确,CouchDB无法立即实现这一点。在CouchDB 2.0版中,仅支持以下身份验证机制:
HTTP基本身份验证
饼干
基本身份验证
由于每个请求都是使用此方案单独进行身份验证的,因此将用户视为“登录”是没有意义的
曲奇饼
CouchDB不跟踪其发布的cookie。这意味着它不知道存在的打开/活动会话。因此,它无法限制特定用户的活动会话数。实现这一点的唯一方法是在Couch
我刚开始使用CouchDB(2.1),我计划使用它将每个用户的机密数据从移动应用程序复制到我的服务器。我已经读到,每个用户数据库是实现这一点的最好方法,我已经设置了它。每个数据库都混合了用户创建的Foo和Bar类型的文档
现在,我还希望能够将这些数据的多用户片段收集到一个数据库中,并在该数据库上构建视图以用于管理报告。假设我想要一个包含所有用户所有foo的数据库。到目前为止还不错,\u replicator中有一个条目,其中包含从每个用户数据库到一个目标的过滤器
但从组合数据库来看,我无法判断给
我想用一些POI创建一个CouchDB数据库。
是否有方法/查询从给定的横向/纵向位置获取特定半径(比如50米)内的poi
我看到了一个扩展,但这意味着我必须重新编译CouchDB,但目前我没有管理员权限来执行此操作。解决了它并生成了一个映射函数:
function (doc) {
// Leidse plein
latitude = 52.3648111;
longitude = 4.8810906;
distance = Math.acos(
Math.sin(doc.latitud
如何创建查询CouchDB以检索元素大小大于X的所有文档
此查询返回movies.size=3的所有文档
{
"selector": {
"movies": { "$size": 3}
}
}
我需要找到where movies.size>3
我使用的是CouchDB 2.1.1这在Mango中目前不受支持。尽管如此,实施起来应该不难。现在,您可以创建一个索引数组长度的视图。因此,您可以使用end\u key=3来获取长度小于3的文档。现在最新版本中是否有可能?
我正在使用CouchDB 1.6
我有一个视图可以返回近30000个文档
另一方面,我有一个服务,它的名字是kettletransformations,它使用order调用视图来获取和处理文档
myserver/mybasedate/_design/masterdata/_view/bytype?key=[“master”]
我的问题是返回的文档太多,因此我的服务没有响应
因此,我正在考虑创建小型文档部件。我一直在测试?限制
myserver/mybasedate/_design/masterd
上一页 1 2 3 4 5 6 7 8 9 ...
下一页 最后一页 共 47 页