2014-12-03 110 views
0

貓鼬是否支持類似rails的default_scope?例如,我在我的用戶模型中添加了一個isArchived布爾型字段,但我不想更新所有查詢以選擇isArchived: false用戶。有沒有辦法在貓鼬身上做到這一點?Mongoose默認範圍查詢

回答

1

我沒有看到任何的貓鼬文檔,但它應該是簡單的創建自己的作用域功能合併查詢:

var defaultScope = {isArchive: false}; 

function scope(query){ 
    for (var s in defaultScope){ 
     query[s] = defaultScope[s]; 
    } 
    return query; 
} 

Thing.find(scope({age: 21}), function(err, c){ 
    console.log(c); 
}); 

它不處理這兩個默認範圍指定相同的屬性和查詢。將不得不添加一些邏輯$和他們。