Hintergrund: Eine Market
Sammlung hat eine url
Eigenschaft, die ein Array von URLs von ausgewählten sites
aus der Site
Sammlung speichert. Ich erstellte einen Helfer (Code unten), den ich von /routes/markets.js
anrufen konnte, das im Wesentlichen die Market
basierend auf req.params.url
auswählt und dann über das market.sites
Array geht und die entsprechenden Site
findet, speichert sie in einem Array, das ich verwenden kann, wenn die Ansicht gerendert wird.schieben kann nicht in ein Array von Mongoose dann Anweisung
Ausgabe: Aufruf der push
Funktion auf dem Array tatsächlich nichts drücken und in der letzten console.log
Anweisung Ich habe einfach protokolliert []
Frage: Wie kann ich in diesem Array schieben? Ist das ein Problem mit der for of
Schleife und then
Promise
Anruf?
markt helpers.js
exports.listSites = (req, res, errorRender, successRender) => {
let sites = [];
Market.find({url: req.params.url})
.then((market) => {
for (url of market[0].sites)
Site.find({url}).then((site) => {
sites.push(site[0]);
}).catch((err) => console.log(err));
console.log(sites);
res.render(successRender, {sites});
})
.catch((errors) => {
res.render(errorRender, {errors});
});
};
Routen/markets.js
router.get('/:url', (req, res) => {
Markets.listSites(req, res, 'login-markets', 'markets/index');
});
Das funktionierte perfekt! Vielen Dank! – szier
Sie sind herzlich willkommen :) – cubbuk