我使用expresso.js與貓鼬作爲ODM。貓鼬不更新數據庫條目
我知道當其他服務器對mongoDB進行更新時,貓鼬不會識別這個。所以仍然顯示數據庫的舊狀態。
我認爲這是因爲貓鼬在創建,更新新文檔後使用回調來更新,但是當另一個服務與mongoDB交互時,這個回調不會被觸發。
那麼我怎麼能說manongly來照顧沒有自己創建的文件?
路線/ user.js的
var User = require('../models/user.js')
, requirements = { enabled: true, expired: false, locked: false };
exports.list = function(req, res){
User.find(requirements, function(err, users){
res.send(users);
});
};
app.js
app.get('/users', user.list);
當我現在訪問/用戶,捲曲或我得到所有用戶的陣列的瀏覽器在mongodb。這就是直到現在。現在我通過我的PHP環境註冊一個新用戶。當我現在再次請求/用戶時,如果沒有php創建的用戶,我仍然會得到與之前相同的數組!
當我現在PHP創建用戶再次重新啓動節點服務和請求/用戶是有....
您關於Mongoose API的斷言並不總是反映數據庫的當前狀態是不正確的。以前的查詢結果不會反映自查詢執行以來對數據庫所做的任何外部更改,當然,任何新的find查詢肯定會發生。你關心的具體情況是什麼? – JohnnyHK
我已更新我的問題。 –
聽起來像這個問題可能是express.js中的視圖緩存。你可以嘗試'app.disable('view cache');'看看是否是這種情況。 – Stennie