用Mongoose导出模型函数的问题

我努力为Mongoose模型创build模型函数。 我在这里定义一个方法:

Schema.listingSchema.method('applyPrice', function() { this.price = priceFromString(this.title); }); 

我在这里访问它:

 var listing = new Listing(); // assign all relevant data listing.title = title; ... // pull the price out of the title and description listing.applyPrice(listing); 

哪里

 Listing = mongoose.model('Listing', Schema.listingSchema); 

我收到错误:

 TypeError: Object #<model> has no method 'applyPrice' 

任何人都可以看到问题?

你如何定义你的模式? 通常你会做这样的事情:

 var listingSchema = new mongoose.Schema({ title: String }); listingSchema.method('applyPrice', function() { this.price = priceFromString(this.title); }); mongoose.model('Listing', listingSchema); var Listing = mongoose.model('Listing'); var listing = new Listing({ title: 'Title' }); listing.applyPrice();