Problem:
You need an xml feed from a mongo database in meteor.Solution:
ironrouter, xmlbuilder1) Command line: meteor add iron:router
2) common/router.js
Router.route('/myfeed.xml', {
name: 'myfeed', //optional
where: 'server', //important to make sure that the function is synchronous
action: function() {
var xmlData = myfeedExport(); //grabs your data
this.response.writeHead(200, {'Content-Type': 'application/xml'}); //outputs data to visitor
this.response.end(xmlData);
}
});
3) server/method.js
myfeedExport = function () {
var xmlBuilder = Meteor.npmRequire('xmlbuilder'); //needed to use xmlbuilder
var feed = xmlBuilder.create('feed'); //sets up the "parent" xml object
Widgets.find({status: "Active"}).forEach(function(widgetData) {
var feedwidget = feed.ele('widget');
feedwidget.ele('name', widgetData.name);
feedwidget.ele('data').dat(widgetData.data); //create <data><![CDATA[yourdata]]></data>"
});
return feed.end({pretty: true})
}
4) packages.json
{
"httpreq":"0.4.2",
"xmlbuilder": "2.4.4",
}
No comments:
Post a Comment