mongo-express-leufu
Version:
Web-based admin interface for MongoDB
25 lines (21 loc) • 613 B
JavaScript
;
var flat = require('flat');
var csv = require('json2csv');
var isPlainObject = require('lodash').isPlainObject;
var handleObject = function (data) {
for (var x in data) {
if (data[x] && data[x].constructor.name === 'ObjectID') {
data[x] = ['ObjectId("', data[x], '")'].join('');
} else if (isPlainObject(data[x])) {
handleObject(data[x]);
}
}
};
module.exports = function (data) {
for (var i = 0, ii = data.length; i < ii; i++) {
var current = data[i];
handleObject(current);
data[i] = flat(current, { safe: true });
}
return csv({ data: data });
};