Ruby:连接到Couchbase

时间:2016-07-13 09:55:57

标签: ruby couchbase

我想通过couchbase gem连接到Couchbase数据库服务器。

require 'couchbase'
c = Couchbase.connect('http://<server>:<port>/pools/default/buckets/auth')

我收到错误:

*** Couchbase::Error::BucketNotFound Exception: bootstrap error, The bucket requested does not exist

以下代码适用于(couchbase python package):

from couchbase.bucket import Bucket
c = Bucket('couchbase://<server>/auth')

如何使用连接字符串couchbase://<server>/auth连接ruby?

2 个答案:

答案 0 :(得分:2)

这是我在机器上看到的内容。

# ruby --version
ruby 1.8.7 (2013-06-27 patchlevel 374) [x86_64-linux]

# gem --version
1.3.7

# gem list --local

*** LOCAL GEMS ***

connection_pool (2.2.0)
couchbase (1.3.14)
multi_json (1.12.1)
yaji (0.3.5)

# cat test.ruby
require 'couchbase'
c = Couchbase.connect('http://localhost:8091/pools/default/buckets/BUCKETNAME')
puts c.get('test123')


# cbc get test123 -U couchbase://localhost/BUCKETNAME 
test123              CAS=0x8f1269ea6014, Flags=0x0. Size=17
{"hello":"there"}

# ruby -rubygems test.ruby
[WARNING] MultiJson is using the default adapter (ok_json). We recommend loading a different JSON library to improve performance.
hellothere

这是在我的一个Couchbase节点上。我有一个名为BUCKETNAME的存储桶,它包含一个带密钥的文件&#34; test123&#34;并且文件的内容是

{
  "hello": "there"
}

答案 1 :(得分:0)

如果是custom,则需要指定存储区:

Couchbase.connect("http://<server>:8091/pools/default", :bucket => 'auth')