2.0.4 • Published 2 years ago

flora-mongodb v2.0.4

Weekly downloads
21
License
MIT
Repository
github
Last release
2 years ago

flora-mongodb

npm.io NPM version NPM downloads

MongoDB data source for Flora.

Usage

Configuration

The module has to be added to a Flora config file by using the dataSources object.

module.exports = {
    …
    dataSources: {
        mongodb: {
            constructor: require('flora-mongodb'),
                options: {
                    server: {
                        host: 'localhost',
                        port: 27017
                    },
                },
            },
        },
        …
};

Alternatively, a Replica Set can be used:

module.exports = {
    …
    dataSources: {
        mongodb: {
            constructor: require('flora-mongodb'),
                options: {
                    replicaSet: 'mycluster',
                    servers: [
                        { host: 'mongo-1', port: 27017 },
                        { host: 'mongo-2', port: 27017 },
                    ],
                },
            },
        },
        …
};

Other additional options:

module.exports = {
    …
    dataSources: {
        mongodb: {
            constructor: require('flora-mongodb'),
                options: {
                    ssl: true,
                    authSource: 'admin',
                    server: {
                        host: 'localhost',
                        port: 27017
                    },
                    username: 'dbuser',
                    password: 'dbpassword',
                },
            },
        },
        …
};

Resources

Given you want to use the database "mydatabase" on the host configured above. To map "mycollection" to a resource, the following XML can be used:

<?xml version="1.0" encoding="utf-8"?>
<resource primaryKey="id" xmlns:flora="urn:flora:options">
    <flora:dataSource type="mongodb" database="mydatabase" collection="mycollection"/>
    <id type="int" storedType="string" map="user" order="true"/>
    <data type="raw"/>
</resource>

Objects in the database look like this (storedType is used to convert the numerical "id" to the string representation in the database):

{
    id: '123456',
    data: {
        someKey: 'someValue',
        someOtherKey: {
            foo: 'bar',
            ...
        }
    }
}

License

MIT

2.0.4

2 years ago

2.0.3

3 years ago

2.0.2

3 years ago

2.0.1

3 years ago

2.0.0

5 years ago

2.0.0-alpha.5

5 years ago

2.0.0-alpha.4

5 years ago

2.0.0-alpha.3

5 years ago

2.0.0-alpha.2

5 years ago

2.0.0-alpha.1

5 years ago

0.9.1

6 years ago

0.9.0

6 years ago

0.8.5

6 years ago

0.8.4

6 years ago

0.8.3

6 years ago

0.8.2

6 years ago

0.8.1

6 years ago

0.8.0

6 years ago

0.7.0

7 years ago

0.6.0

8 years ago

0.3.0

9 years ago

0.2.0

9 years ago