Предположим, у вас есть инициализация маршрута, как это требуется в главном:мангуст модель наследования в Java-прототипичный объект
module.exports = function(app) {
for (var name in names) {
var schema = new Schema({}) // schema that accepts anything
, m = mongoose.model(name, schema)
, controller = new TextController(m)
app.get('/path', controller.create.bind(controller))
// etc, etc
И TextController определяется внешне как:
var TextController = function(Model) {
this.Model = Model
}
TextController.prototype.create = function(req, res) {
var aDoc = this.Model({ // this is the problematic bit
title: req.body.title
, content: req.body.content})
aDoc.save(function(err) {...})
}
По какой-то причине, Монго экономит это как пустой документ, хотя параметры заголовка и содержимого являются ожидаемыми строками. Как и ожидалось, this.Model - это своего рода объект mongoose, но, похоже, он отклоняет сохранение или создание экземпляра. Любые идеи или предложения?
Примечание: Я добавил контроллер.method.bind (контроллер), потому что это был единственный способ (я знал), чтобы получить доступ к этому. Мод.
Edit: Я также попытался следующие:
var TextController = function(myCollection) {
this.myCollection = myCollection
this.list = function(req, res) {
this.myCollection.find({}, function { ... })
}
}
А также пытались переходящая в имени и инициализации модели в пределах функции function(name) { this.myCollection = mongoose.model(name) ... }
Я не смог получить ответы на этот вопрос вне этого вопроса. У кого-нибудь есть идеи? – tippenein