我展示了一堆從集合頁面,因此讓他們在我看來,我可以在app.js
初始化的全局變量locals
像這樣:當地人變量沒有更新正確
Page.find({}).sort({ sorting : 1}).exec(function(err, pages){
if (err) {
console.log(err);
} else {
app.locals.pages = pages;
}
});
這工作正常。不過,我也有能力對這些頁面顯示的方式進行重新排序,所以在我重新排序後,我在同一條路徑上從上面重新編號爲Page.find()
,但它似乎總是落後一步。
所以,如果我重新排序的變化(我們稱之爲reorder 1
),我沒有看到後app.locals.pages
有差別,但如果我再次重新排序(我們稱之爲reorder 2
,然後我看到了reorder 1
排序,而不是reorder 2
等方面始終,所以基本上它總是落後一步
相關代碼:?
for (var i = 0; i < ids.length; i++) {
var id = ids[i];
count++;
(function(count) {
Page.findById(id, function (err, page) {
page.sorting = count;
page.save(function (err) {
if (err)
console.log(err);
});
});
})(count);
}
Page.find({}).sort({sorting: 1}).exec(function (err, pages) { // this is always a step behind
if (err) {
console.log(err);
} else {
req.app.locals.pages = pages;
}
});
爲什麼沒有得到最新的
我沒有完全理解你的問題大聲笑。您想做什麼 ? – boubaks
@boubaks在for循環運行並且數據庫中的值發生更改後,req.app.locals.pages不會反映最新的更改。 –