This package has been deprecated

Author message:

Flexmonster Compressor is a legacy tool to connect Flexmonster Pivot Table & Charts to SQL databases. Please visit the following page to find more recent information: https://www.flexmonster.com/doc/connect-to-relational-database/

flexmonster-compressor

2.7.24 • Public • Published

Flexmonster Compressor for Node.js

Flexmonster Compressor for Node.js is a special server-side compression tool that helps you to increase data loading speed from server to Flexmonster Pivot Table & Charts.

Flexmonster Compressor can compress the data from the following sources:

  • MongoDB – driver
  • MySQL – driver
  • PostgreSQL – driver
  • JSON files/streams
  • CSV files/streams

What is JS Pivot Table by Flexmonster?

Flexmonster Pivot Table & Charts is a component for interactive pivot reports that can be inserted to a web page or a web application. It’s a powerful JavaScript tool to visualize your business data.

Flexmonster Pivot is a cross-platform web component that seamlessly works on any browser (Chrome, Firefox, Internet Explorer, Safari or Opera) across Windows, macOS, Linux, iOS or Android.

Why use Flexmonster Compressor?

  • Provide a secure connection to your database or file
  • Reduce data size after compression
  • Increase data loading speed

Installation and usage

Start by installing Flexmonster Compressor as a node module and save it as a dependency in your package.json:

npm i flexmonster-compressor --save

Connect to the database or file and compress the data. Here is an example on how to create API endpoint that returns data from MongoDB:

const compressor = require('flexmonster-compressor');
const MongoClient = require('mongodb').MongoClient;
 
MongoClient.connect("mongodb://demo:p123456@ds121251.mlab.com:21251/flexmonster", { useNewUrlParser: true }, (err, client) => {
    if (err) throw err;
    console.log("Connected successfully to MongoDB.");
    app.set("db", client.db("flexmonster"));
});
 
app.get('/mongodb', (req, res) => {
    const db = req.app.get('db');
    const result = db.collection('sample_data').find({}, { projection: { '_id': false } }).stream();
    let stream = compressor.compressJsonStream(result);
    stream.on('data', data => res.write(data));
    stream.on('end', () => res.end());
});

To get the data on the front-end, please use the following code:

<!DOCTYPE html>
<html>
<head>
    <title>Demo</title>
    <link href="https://cdn.flexmonster.com/flexmonster.min.css" rel="stylesheet" type="text/css">
    <script type="text/javascript" src="https://cdn.flexmonster.com/flexmonster.js"></script>
</head>
<body>
 
    <div id="pivot"></div>
    <script type="text/javascript">
        new Flexmonster({
            container: "#pivot",
            componentFolder: "https://cdn.flexmonster.com/",
            report: {
                dataSource: {
                    dataSourceType: "ocsv",
                    filename: "/mongodb"
                }
            }
        })
    </script>
</body>
</html>

Examples

The sample project can be found at GitHub.

Also you can get all support from development team on Forum. Flexmonster developers react fast to the questions and provide professional assistance.

Package Sidebar

Install

npm i flexmonster-compressor

Weekly Downloads

82

Version

2.7.24

License

https://www.flexmonster.com/terms/Flexmonster-Terms-and-Conditions.pdf

Unpacked Size

250 kB

Total Files

31

Last publish

Collaborators

  • flexmonster