【问题标题】:Default value for all queries via mongoose通过猫鼬进行的所有查询的默认值
【发布时间】:2013-09-21 21:57:22
【问题描述】:

我正在尝试编写一个猫鼬模式,该模式对于所有对 find() 或 findOne() 的调用都将在其字段之一中传递特定值。我尝试在字段声明中使用“默认”属性,但这对我不起作用。

这是我的架构:

var schema = Schema({
  created_at: Date,
  type: {type: String, default: "alert"},
  timestamp: Number,
  order: Number,
  description: String,
  status: String,

});

我希望对 find() 和 findOne() 的每次调用都在“type”字段中传递值“alert”。

有什么想法吗?

【问题讨论】:

    标签: node.js mongodb mongoose


    【解决方案1】:

    您可以在模型中添加一个简单的包装器方法,该方法将负责查找每个带有type: "alert" 的文档。像这样的:

    var Model = mongoose.model('Model', theSchema);
    Model.alerts = function (q, callback) {
      q.type = "alert";
      this.find(q, callback);
    }
    

    那么你可以通过Model.alerts({}, callback)得到你想要的。

    【讨论】:

      猜你喜欢
      • 2015-07-12
      • 2018-10-03
      • 2018-12-03
      • 1970-01-01
      • 1970-01-01
      • 2018-07-05
      • 2014-10-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多