Nine Pedestrians Mesmerized
    Have ideas to improve npm?Join in the discussion! »

    feathers-couchbase
    TypeScript icon, indicating that this package has built-in type declarations

    3.0.1 • Public • Published

    feathers-couchbase

    CI Dependency Status Download Status

    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 service
    • name - The name of the bucket (must be created in Couchbase admin)
    • cluster - The couchbase cluster instance
    • retries - 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 a default and max page size
    • whitelist (optional) - A list of additional query parameters to allow
    • multi (optional) - Allow create with arrays and update and remove with id null to change multiple items. Can be true 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.

    Install

    npm i feathers-couchbase

    DownloadsWeekly Downloads

    23

    Version

    3.0.1

    License

    MIT

    Unpacked Size

    23.3 kB

    Total Files

    12

    Last publish

    Collaborators

    • avatar
    • avatar