Aquí está mi codificación, nos conectamos con la base de datos de firebase
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" });Consulto datos de la base de datos de Firebase
database = firebase.database(); var ref = database.ref('urls'); ref.on('value', gotData, errData); function gotData(data){ console.log(data.val()) }Obtengo el resultado de la siguiente manera
{ salmon: { count: 1, last_res: 10, url_site: 'salmon' }, 'salmon-food': { count: 1, last_res: 601, url_site: 'salmon-food' } }Necesito agregar url_site en 'pagex' solo 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/'} ] });Gracias :)
Puede intentar esto suponiendo que el resultado de su base de fuego esté almacenado en el result de la variable:
const urls = Object.keys(result) .filter(key => result[key].last_res < 5) .map(key => ({url: '/' + result[key].url_site + '/'}))Esto le dará una matriz como -
[ { url: '/salmon/' }, { url: '/salmon-food/' } ]Entonces puedes usarlo -
var sitemap = sm.createSitemap({ hostname: 'xxx.com', cacheTime: 600000, // 600 sec - cache purge period urls: urls });