mongoose是否支持类似rails的default_scope?例如,我在我的用户模型中添加了isArchived
布尔字段,但我不想更新所有查询以选择isArchived: false
个用户。有没有办法在猫鼬中做到这一点?
答案 0 :(得分:1)
我没有在mongoose文档中看到任何内容,但创建自己的合并查询的作用域函数应该很简单:
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);
});
它不会处理在默认范围和查询中指定相同属性的操作。必须为$和他们添加一些逻辑。