【问题标题】:Mongoose Default Scoped QueryMongoose 默认范围查询
【发布时间】:2014-12-03 16:16:00
【问题描述】:

mongoose 是否支持类似 rails 的 default_scope?例如,我正在向我的用户模型添加一个 isArchived 布尔字段,但我不想更新我的所有查询以选择 isArchived: false 用户。有没有办法在猫鼬中做到这一点?

【问题讨论】:

    标签: mongodb mongoose


    【解决方案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);
    });
    

    它不处理在默认范围和查询中指定相同的属性。必须为 $ 和它们添加一些逻辑。

    【讨论】:

      猜你喜欢
      • 2021-01-02
      • 1970-01-01
      • 1970-01-01
      • 2016-02-15
      • 1970-01-01
      • 2017-07-09
      • 1970-01-01
      • 2018-07-31
      • 1970-01-01
      相关资源
      最近更新 更多