下面是我收集的模式:如何從MongoDB集合中創建並行和順序的作業隊列(FIFO)?
var mongoose = require('mongoose');
var urlSchema = new mongoose.Schema({
url: String,
easeDate: { type: Date, index: 1},
created: { type: Date, default: Date.now }
});
我需要做的最早的文件(由easeDate)的更新行動來改變其easeDate
日期«現在+一些超時»並得到受影響的文檔。是否可以在一個請求中?
基本上,我想從集合中創建一個類似隊列的東西(「最老的」一個是下一個,即先進先出)。刪除網址(收藏中的文件)是由其他條件完成的。我不想從隊列中刪除,但通過更新easeDate
來結束它。
最後,我想獲取可用的網址併爲其設置超時時間,以便下一次返回下一個網址。如果這是最後一個網址,則由於超時,下次返回null
。
如果我可以更新它,那麼我該如何查詢數據庫(貓鼬)來獲取下一個網址easeDate < Date.now()?你能舉一個JavaScript例子嗎?
重複引用是錯誤的!我更新了這個問題。 – Ruslan