feathers-couchbase
v3.0.1
Published
A modern Couchbase adapter for Feathers
Downloads
13
Readme
feathers-couchbase
A Feathers service adapter for Couchbase.
$ npm install --save feathers-couchbase
Important:
feathers-couchbase
implements the Feathers Common database adapter API and querying syntax.
API
service([options])
Returns a new service instance initialized with the given options.
const service = require('feathers-couchbase');
app.use('/messages', service());
app.use('/messages', service({ id, startId, store, events, paginate }));
Options:
id
(optional, default:'id'
) - The name of the id field property.events
(optional) - A list of custom service events sent by this servicename
- The name of the bucket (must be created in Couchbase admin)cluster
- The couchbase cluster instanceretries
- The number of times to retry insertion (see https://docs.couchbase.com/nodejs-sdk/current/howtos/error-handling.html)paginate
(optional) - A pagination object containing adefault
andmax
page sizewhitelist
(optional) - A list of additional query parameters to allowmulti
(optional) - Allowcreate
with arrays andupdate
andremove
withid
null
to change multiple items. Can betrue
for all methods or an array of allowed methods (e.g.[ 'remove', 'create' ]
)
Example
Here is an example of a Feathers server with a messages
Couchbase service.
$ npm install @feathersjs/feathers @feathersjs/express couchbase feathers-couchbase
In app.js
:
const feathers = require('@feathersjs/feathers');
const express = require('@feathersjs/express');
const couchbase = require('couchbase');
const cluster = new couchbase.Cluster('couchbase://localhost', {
username: 'Administrator',
password: 'test123'
});
const { CouchbaseService } = require('../lib'); // require('feathers-couchbase')
// Creates an ExpressJS compatible Feathers application
const app = express(feathers());
// Parse HTTP JSON bodies
app.use(express.json());
// Parse URL-encoded params
app.use(express.urlencoded({ extended: true }));
// Host static files from the current folder
app.use(express.static(__dirname));
// Add REST API support
app.configure(express.rest());
// Register a Couchbase people service
app.use('/people', new CouchbaseService({
cluster,
name: 'feathers-test',
paginate: {
default: 10,
max: 100
}
}));
// Register a nicer error handler than the default Express one
app.use(express.errorHandler());
app.listen(3030).on('listening', () => console.log('feathers-couchbase example started'));
Run the example with node app
and go to localhost:3030/messages.
License
Copyright (c) 2020
Licensed under the MIT license.