Skip to content

couchbase module #417

@jknack

Description

@jknack
import org.jooby.couchbase.*;

{
   use(new Couchbase("couchbase://localhost/default"));

   get("/", req -> {
     Bucket bucket = req.require(Bucket.class);
     //... do with default bucket
   });
}

Reactive version works with http://jooby.org/doc/rxjava/:

import org.jooby.couchbase.*;
import org.jooby.rx.*;

{
   use(new Rx());
   use(new Couchbase("couchbase://localhost/default"));

   get("/", req -> {
     AsyncBucket bucket = req.require(AsyncBucket.class);
     //... do with default async bucket
   });
}

Basic CRUD will be available via Datastore service (provided by jooby)

 use("/api/beer")
        .post(req -> {
          return req.require(Datastore.class).upsert(req.body().to(Beer.class));
        })
        .get("/:id", req -> {
          return req.require(Datastore.class).get(req.param("id").value(), Beer.class);
        })
        .delete("/:id", req -> {
          return req.require(Datastore.class).remove(req.param("id").value(), Beer.class);
        })
        .get(req -> {
          return require(Datastore.class).query(
              Select.select("b.*").from("`beer-sample` b"));
        });

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions