mtr-mongo-dt
v1.1.4
Published
Meteor MongoDB DataTable adalah datatable builder untuk MongoDB. ### Installation ```bash npm i git+ssh://[email protected]/mtr-platform/libs/mongodb-datatable#v1.1.2 ``` ### Penggunaan Deklarasikan constant untuk memanggil library di dalam
Downloads
2
Readme
Meteor MongoDB DataTable
Meteor MongoDB DataTable adalah datatable builder untuk MongoDB.
Installation
npm i git+ssh://[email protected]/mtr-platform/libs/mongodb-datatable#v1.1.2
Penggunaan
Deklarasikan constant untuk memanggil library di dalam file model.
Buat function datatable yang akan digunakan.
Task attributes:
- [x] select
- [x] where
- [ ] populate
API Query Params for Index
Key | Type | Contoh Value | Keterangan --- | --- | --- | --- search | String | some text | param untuk melakukan string pencarian length | Number | 10 | param untuk memberikan limit jumlah data yang ditampilkan setiap page page | Number | 1 | param untuk menampilkan data pada offset tertentu order[column] | String | created_at | param untuk melakukan ordering berdasarkan column yang dipilih order[direction] | String | asc or desc | sort order yang dilakukan columns[index(Number)][data] | String | name | param untuk menampilkan column yang diinginkan pada response balikan columns[index(Number)][searchable] | Boolean | true or false | param untuk menjadikan suatu column dengan index tertentu bisa dilakukan pencarian columns[index(Number)][filter-type] | String | range or only | param untuk menjadikan suatu column dengan index tertentu menjadi penyaringan hasil response balikan. Hanya ada dua opsi yaitu range dan only. Range bersifat penyaringan berdasarkan suatu column dengan rentang dua nilai integer. Only bersifat penyaringan berdasarkan suatu column dengan nilai yang termasuk dalam array columns[index(Number)][filter-values] | Array | [0,100] or ['Andi', 'Budi', ...] | param berupa array yang menjadi nilai untuk param columns[index()Number][filter-type]. Jika type berupa range maka value adalah array yang terdiri dari dua integer membentuk sebuah rentang nilai. Jika type berupa only maka value adalah array yang terdiri dari satu atau lebih data
const datatable = require('mtr-mongo-dt');
exports.dt = async (params) => {
const attributes = { select, where };
return datatable(attributes, params, table)
.then(ok => ok)
.catch((err) => {
throw err;
});
};
};
Function tersebut dapat digunakan, misal, dalam file controller seperti berikut:
const { dt } = require('../models/model-file');
exports.index = async (req, res) => {
const { query } = req;
await dt(query)
.then(ok => response(200, ok, res))
.catch(err => response(400, err, res));
};
Contoh response dari library ini adalah sbb:
{
"status": 200,
"message": "OK",
"value": {
"total": 21,
"total_filtered": 15,
"total_displayed": 10,
"total_page": 2,
"page": 1,
"data": [
{ ... },
{ ... },
...
]
}
}