Here is my coding, we connect with firebase database
var express = require('express')
var app = express()
app.listen(3000)
app.engine('html', require('ejs').renderFile)
app.use(express.static('public'))
var bodyParser = require('body-parser');
var sm = require('sitemap')
var firebase = require('firebase').initializeApp({
apiKey: "xx",
authDomain: "xx.firebaseapp.com",
databaseURL: "https://xx.firebaseio.com",
projectId: "xx",
storageBucket: "xx.appspot.com",
messagingSenderId: "xx"
});
I query data from firebase database
database = firebase.database();
var ref = database.ref('urls');
ref.on('value', gotData, errData);
function gotData(data){
console.log(data.val())
}
I get result as below
{ salmon:
{ count: 1,
last_res: 10,
url_site: 'salmon' },
'salmon-food':
{ count: 1,
last_res: 601,
url_site: 'salmon-food' } }
I need to add url_site into 'pagex' only last_res < 5
var sitemap = sm.createSitemap({
hostname: 'xxx.com',
cacheTime: 600000, // 600 sec - cache purge period
urls: [
{ url: '/pagex/'},
{ url: '/pagex/'},
{ url: '/pagex/'},
{ url: '/pagex/'}
]
});
Thanks :)
You could try this assuming your firebase result is stored in the variable result -
const urls = Object.keys(result)
.filter(key => result[key].last_res < 5)
.map(key => ({url: '/' + result[key].url_site + '/'}))
This will give you an array like -
[ { url: '/salmon/' }, { url: '/salmon-food/' } ]
Then you can use it -
var sitemap = sm.createSitemap({
hostname: 'xxx.com',
cacheTime: 600000, // 600 sec - cache purge period
urls: urls
});