remondesr
remondesr

Reputation: 1

Get All Documents from a CouchBase Bucket without View or N1QL

I am implementing an Express Web service using CouchBase as my database. To get all documents stored in a bucket, i created a view using the web console.

My question is if there is a way to do the same thing but without creating a view or using N1QL.

I was looking at the Couchbase Server REST API, but i didn't found a way.

Thank you

Upvotes: 0

Views: 1156

Answers (3)

Akshay Bhatia
Akshay Bhatia

Reputation: 11

Create a document that will hold the keys of all your documents. While inserting a key value pair in couchbase, also append the key to that document.

Eg:

<Key1, Value1>
<Key2, Value2>
.
.
.
<Keyx, Valuex>

<All_Keys, <Key1, Key2, Key3...Keyx>>

To get all the documents, Just do a client.get("All_Keys") and then do a client.getBulk() operation.

Upvotes: 1

David Ostrovsky
David Ostrovsky

Reputation: 2481

In Couchbase 3.0 and higher, you can also use DCP to stream all documents from a bucket. Currently the DCP protocol is only implemented in java, you can see an example here: http://github.com/branor/couchbase-dcp-consumer Note that there is a problem in the 1.1.0+ version of the couchbase core-io library, so you need to use version 1.1.0-dp (developer preview) to open a stream. DCP support in the SDK is still experimental, so I wouldn't use it in production yet.

Upvotes: 0

NoSQLKnowHow
NoSQLKnowHow

Reputation: 4845

You could design your schema around something like this. I am thinking of a key pattern specifically that would allow for a bulk get of a range of docs.

Beyond that, there is no way without a view or N1QL.

Upvotes: 1

Related Questions