标签: cloudant

使用Node.js连接Cloudant CouchDB?

我正在尝试使用Node.js连接到Cloudant上的CouchDB数据库.

这适用于shell:

    curl https://weng:password@weng.cloudant.com/my_app/_all_docs
Run Code Online (Sandbox Code Playgroud)

但是这个node.js代码不起作用:

    var couchdb = http.createClient(443, 'weng:password@weng.cloudant.com', true);
    var request = couchdb.request('GET', '/my_app/_all_docs', {
        'Host': 'weng.cloudant.com'
    });
    request.end();
    request.on('response', function (response) {
        response.on('data', function (data) {
            util.print(data);
        });
    });
Run Code Online (Sandbox Code Playgroud)

它给了我这些数据:

    {"error":"unauthorized","reason":"_reader access is required for this request"}
Run Code Online (Sandbox Code Playgroud)

如何使用Node.js列出我的所有数据库?

javascript couchdb node.js cloudant

20
推荐指数
3
解决办法
8208
查看次数

Cloudant auth:缺少_users数据库

我正在使用Cloudant上的CouchDB进行设置,我很困惑,因为Cloudant似乎与普通的CouchDB不同.具体而言,Cloudant似乎缺少_users数据库.

我在这里阅读了Cloudant auth FAQ ,它提供了以下说明:

我可以在Cloudant上使用CouchDB安全功能(_users数据库,安全对象,验证功能)吗?

是的你可以.如果要使用_users数据库,则必须首先关闭要通过_users管理的角色的Cloudant自身安全性.为此,您需要将如下所示的JSON文档输入到数据库的_security端点(例如 https://USERNAME.cloudant.com/DATABASE/_security):

{"cloudant":{"nobody":["_reader","_ writeer","_ admin"]},"读者":{"名称":["演示"],"角色":[]}}

这些说明工作正常,并允许我更新数据库的_security对象.

不清楚的是如何设置_users数据库.它不是自动存在的,所以我尝试使用常规创建它:

curl -X PUT $COUCH/_users

这工作正常,但当我尝试将新用户添加到_users时,如下所示:

curl -HContent-Type:application/json \
  -vXPUT $COUCH/_users/org.couchdb.user:me \
  --data-binary '{"_id": "org.couchdb.user:me","name": "me","roles": [],"type": "user","password": "pwd"}'
Run Code Online (Sandbox Code Playgroud)

它似乎正确创建文档:

{"ok":true,"id":"org.couchdb.user:me","rev":"3-86c3801fdb8c32331f5f2580e861a765"}

但是Cloudant上的_users中的新用户缺​​少哈希密码:

{
   "_id": "org.couchdb.user:me",
   "_rev": "3-86c3801fdb8c32331f5f2580e861a765",
   "name": "me",
   "roles": [
   ],
   "type": "user",
   "password": "pwd"
}
Run Code Online (Sandbox Code Playgroud)

因此,当我尝试对此用户进行身份验证时,出现以下错误:

{"error":"bad_request","reason":"missing password_sha property in user doc"}

在我的本地CouchDB安装中,在_users中创建新用户会自动创建哈希密码:

{
   "_id": "org.couchdb.user:test",
   "_rev": "1-9c1c4360eba168468a37d7f623782d23",
   "password_scheme": "pbkdf2",
   "iterations": 10,
   "name": "test",
   "roles": [
   ],
   "type": "user",
   "derived_key": "4a122a20c1a8fdddb5307c29078e2c4269abffa5", …
Run Code Online (Sandbox Code Playgroud)

authentication couchdb cloudant

18
推荐指数
1
解决办法
2363
查看次数

使用CouchDB和Python机器学习检测"异常行为"?

当用户访问我的Python Web服务时,我正在收集许多非常有趣的数据点.例如,我有他们当前的城市,州,国家,用户代理等.我希望能够做的是通过某种类型的机器学习系统/算法(可能是贝叶斯分类器?)来运行它们,最终目标是在出现异常情况时(异常检测)获取电子邮件通知.例如,Jane Doe只在Chrome上从美国登录.因此,如果她突然在Firefox上从乌克兰登录我的网络服务,我希望看到这是一个非常"不寻常"的事件并触发通知.

我已经在使用CouchDB(特别是Cloudant),我看到人们经常在网上说,Cloudant/CouchDB非常适合这种事情(大数据分析).但是我完全不知道从哪里开始.我没有找到关于相对简单地跟踪Web服务的外围事件的文档,更不用说使用CouchDB存储以前"学习"的数据了.我看到了几种用于进行此类数据处理的专用系统(需要想到的是PredictionIO),但考虑到CouchDB的本质,我不禁觉得它们有点过分.

任何见解都会非常感激.谢谢!

python couchdb machine-learning bayesian cloudant

15
推荐指数
1
解决办法
6919
查看次数

如何在Cloudant/CouchDB中使用我的sql知识?

一些对查询SQL数据库有很好了解的开发人员很难在Cloudant/CouchDB中实现等效的查询模式.

这些开发人员如何将他们的SQL知识转换为Cloudant/CouchDB?

sql couchdb recipe cookbook cloudant

12
推荐指数
1
解决办法
3554
查看次数

d3.js或rxjs错误?this.svg.selectAll(...).data(...).enter不是函数

这很奇怪.它也有点长,所以提前道歉. 更新 - 它最终成为2个问题,请参阅下面的答案.

这是我的错误: EXCEPTION: this.svg.selectAll(...).data(...).enter is not a function

我有一个angular-cli客户端和一个节点api服务器.我可以使用observable从服务中检索states.json文件(下面的代码).d3喜欢该文件并显示预期的美国地图.

当我将api服务器中的服务目标从文件更改为bluemix-cloudant服务器时,我在客户端收到上述错误.

当我使用ngOnInit在一个变体中使用console.log输出时,最初mapData打印为一个空数组,并抛出错误.这是错误的明显来源,因为没有数据,但Chrome调试器显示待处理的请求.请求完成后,数据将按预期在控制台中打印.

  • angular-cli版本1.0.0-beta.26
  • 角度版本^ 2.3.1
  • d3版本^ 4.4.4
  • rxjs版本^ 5.0.1

map.component.ts:

import { Component, ElementRef, Input } from '@angular/core';
import * as D3 from 'd3';
import '../rxjs-operators';

import { MapService } from '../map.service';

@Component({
  selector: 'map-component',
  templateUrl: './map.component.html',
  styleUrls: ['./map.component.css']
})
export class MapComponent {

  errorMessage: string;
  height;
  host;
  htmlElement: HTMLElement;
  mapData;
  margin;
  projection;
  path;
  svg;
  width;

  constructor (private _element: ElementRef, private _mapService: MapService) {
    this.host = D3.select(this._element.nativeElement); …
Run Code Online (Sandbox Code Playgroud)

cloudant rxjs d3.js angular ibm-cloud

12
推荐指数
1
解决办法
1626
查看次数

在文档之间建立CouchDB关系?

我试图在CouchDB中建立一个相当简单的关系,我无法确定实现这一目标的最佳方法.我希望用户能够创建视频游戏对象列表.我已经将数据库中存储的视频游戏文档包含在内"type":"game".我希望能够查询列表对象的ID(通过视图)并获取列表的元数据(标题,创建日期等)和游戏文档的部分(例如标题和发布日期).此外,我希望能够在列表中添加/删除游戏,而无需下载整个列表文档并将其发回(因此这意味着我不能简单地将游戏信息存储在列表文档中)最终喜欢支持多个用户参与同一个列表,我不想引入冲突.

EntityRelationships上阅读CouchDB wiki之后,我已经确定设置关系文档可能是最好的解决方案.

游戏:

{
    "_id": "2600emu",
    "type": "game"
}
Run Code Online (Sandbox Code Playgroud)

列表:

{
    "_id": 123,
    "title": "Emulators",
    "user_id": "dstaley",
    "type": "list"
}
Run Code Online (Sandbox Code Playgroud)

游戏列表关系:

{
    "_id": "98765456789876543",
    "type": "relationship",
    "list_id": 123,
    "game_id": "2600emu"
}
Run Code Online (Sandbox Code Playgroud)

但是,根据我的理解,这不允许我在一个请求中获取列表的元数据和游戏的元数据.有什么建议?

couchdb cloudant

11
推荐指数
1
解决办法
6157
查看次数

我能为每个数据库创建多个集合吗?

从蒙戈切换到pouchdb(与Cloudant),我喜欢"每个用户一个数据库"的概念,但有一个方法来创建每个数据库的多个集合/表?

- Peter  
        - History
        - Settings
        - Friends
- John
        - History
        - Settings
        - Friends
Run Code Online (Sandbox Code Playgroud)

等等...

谢谢

couchdb cloudant pouchdb

11
推荐指数
2
解决办法
4961
查看次数

Cloudant和CouchOne之间的区别?

我想知道Cloudant和CouchOne之间有什么区别.

couchdb cloudant couchone

10
推荐指数
3
解决办法
3316
查看次数

我可以限制未经身份验证的用户访问_all_docs吗?

我希望人们能够私下共享文档,使用带有随机ID的链接,就像我在发送到pastebin的私人链接后得到的那样.我想知道CouchDB和Cloudant的一般情况.

couchdb cloudant

10
推荐指数
1
解决办法
3339
查看次数

Cloudant选择器查询

我想使用cloudant db使用选择器进行查询,例如如下所示:用户希望借入其数量超过数字的借阅,如何在cloudant选择器中访问数组以查找特定记录

{
       "_id": "65c5e4c917781f7365f4d814f6e1665f",
      "_rev": "2-73615006996721fef9507c2d1dacd184",
      "userprofile": {


     "name": "tom",
        "age": 30,
        "employer": "Microsoft"

      },
      "loansBorrowed": [
        {
          "loanamount": 5000,
          "loandate": "01/01/2001",
          "repaymentdate": "01/01/2001",
          "rateofinterest": 5.6,
          "activeStatus": true,
          "penalty": {
            "penalty-amount": 500,
            "reasonforPenalty": "Exceeded the date by 10 days"
          }
        },
        {
          "loanamount": 3000,
          "loandate": "01/01/2001",
          "repaymentdate": "01/01/2001",
          "rateofinterest": 5.6,
          "activeStatus": true,
          "penalty": {
            "penalty-amount": 400,
            "reasonforPenalty": "Exceeded the date by 10 days"
          }
        },
        {
          "loanamount": 2000,
          "loandate": "01/01/2001",
          "repaymentdate": "01/01/2001",
          "rateofinterest": 5.6,
          "activeStatus": true,
          "penalty": {
            "penalty-amount": …
Run Code Online (Sandbox Code Playgroud)

json cloudant

10
推荐指数
2
解决办法
7832
查看次数