node package manager



jugglindb-cozy-adapter is an adapter for JugglingDB required by cozy applications to use the Cozy Data System.


Setup for Compound

First add it to your project dependencies (package.json file), or install it directly:

npm install jugglingdb-cozy-adapter

Then in your config/database.json file, add this:

    "driver":   "jugglingdb-cozy-adapter",
    "url": "http://localhost:9101/"

Url parameter is optional. Don't forget the trailing slash at the end of the url. Of course to work correctly, the adapter required Cozy Data System and CouchDB up and running.


Check test file for documented usage of methods available in this adapter.


# Existence 
Note.exists 123(err, isExist) ->
    console.log isExist
# Find 
Note.find 321(err, note) ->
    console.log note
# Create 
Note.create { id: "321""content":"created value"}(err, note) ->
# Update (err) ->
    console.log err
# Update attributes 
note.updateAttributes title: "my new title"(err) ->
    console.log err
# Upsert 
Note.createOrUpdate, note) ->
    console.log err
# Delete 
note.destroy (err) ->
    console.log err


# Index document fields 
note.index ["title""content"](err) ->
    console.log err
# Search through indexes "dragons"(err, notes) ->
    console.log notes


# Attach file 
note.attachFile "./test.png"(err) ->
    console.log err
# Get file 
stream = @note.getFile "test.png"(err) ->
     console.log err
stream.pipe fs.createWriteStream('./test-get.png')


# Define request 
map = (doc) ->
    emit doc._iddoc
Note.defineRequest "every_notes"map(err) ->
    console.log err
# Get request results 
Note.request "every_notes"(err, notes) ->
    console.log notes
# Destroy documents through request results 
Note.requestDestroy "every_notes"{key: ids[3]}(err) ->
# Remove request 
Note.removeRequest "every_notes"(err) ->
     console.log err


# Create 
dataMailBox =
    name: "test mailBox"
    id: "110"
MailBox.create dataMailBox(err, mailBox) =>
    dataAccount =
        pwd: "password"
        login: "log"
    mailBox.createAccount dataAccount(err, account) ->
# Get 
mailBox.getAccount (err, account) ->
    console.log account
# Update 
data =
    pwd: "newPassword"
    login: "newLog"
mailBox.updateAccount data(err) ->
    console.log err
# Update attributes 
mailBox.mergeAccount login: "newLog"(err) ->
    console.log err
# Delete 
mailBox.destroy (err) ->
    console.log err

Build & tests

To build source to JS, run

cake build

To run tests:

cake tests

What is Cozy?

Cozy Logo

Cozy is a platform that brings all your web services in the same private space. With it, your web apps and your devices can share data easily, providing you with a new experience. You can install Cozy on your own hardware where no one profiles you.


You can reach the Cozy Community by:

  • Chatting with us on IRC #cozycloud on
  • Posting on our Forum
  • Posting issues on the Github repos
  • Mentioning us on Twitter