Я хочу использовать статический метод из другой модели модели. Но когда я потребовать от другой модели и вызовите функцию:Mongoose требуется модель в модели
TypeError: Cannot read property 'isCalculated' of undefined
так .. это не возможно требовать модели в другой модели? :(
Модели находятся в той же папке, поэтому я называю
var Confirmation = require("./confirmation").Confirmation;
и экспорт в подтверждение:
module.exports = {
Confirmation: mongoose.model('Confirmation', confirmationSchema)
};
Спасибо :)
Update: Код: invoice.js
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var autoIncrement = require('mongoose-auto-increment');
var Moment = 'Moment';
var moment = require('moment');
var Currency = mongoose.Types.Currency;
var Confirmation = require("./confirmation.js");
autoIncrement.initialize(mongoose.connection);
var invoiceSchema = new Schema({...}); //invoiceSchema
invoiceSchema.statics.insert= function(invoice, cb) {
....
Confirmation.isCalculated(..) //error here
....
}
module.exports = mongoose.model("Invoice", invoiceSchema);
И код: confirmation.js
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var Invoice = require("./invoice.js");
var confirmationSchema = new Schema({...});
confirmationSchema.statics.isCalculated = function(pid, aid, cb) {...};
module.exports = mongoose.model('Confirmation', confirmationSchema)
Можете ли вы показать, как/где вы объявляете 'метод isCalculated'? – robertklep
в подтверждении: 'confirmSchema.statics.isCalculated = function (pid, aid, cb) {..})' – Gargamil
Можете ли вы показать точный код? Если, например, вы добавляете этот статический метод _after_, вы создали модель, вы получите такую ошибку. – robertklep