Значение по умолчанию для всех запросов через мангуст

Я пытаюсь написать схему мангуста, которая для всех вызовов find() или findOne() будет передавать определенное значение в одном из своих полей. Я попытался использовать свойство «по умолчанию» в объявлении поля, но это не сработало для меня.

Вот моя схема:

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

});

Я хотел бы, чтобы при каждом вызове find() и findOne() передавалось значение "предупреждение" в поле "тип".

Любые идеи?


person Shahar    schedule 17.09.2013    source источник


Ответы (1)


Вы можете добавить в свою модель простой метод-оболочку, который будет отвечать за поиск каждого документа с type: "alert". Что-то вроде этого:

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

Тогда вы могли бы получить то, что вы хотите с Model.alerts({}, callback).

person david.storch    schedule 20.09.2013