const mangosta = require('mangosta');
main().catch(err => console.log(err)); async function main() { await mongoose.connect('mongodb://localhost:27017/test', { useNewUrlParser: true }); console.log("We are successfully connected"); } const kittySchema = new mongoose.Schema({ name: String }); const Kitten = mongoose.model('Kitten', kittySchema); const silence = new Kitten({ name: 'Silence' }); console.log(silence.name); kittySchema.methods.speak = function speak() { const greeting = this.name ? "Meow name is " + this.name : "I don't have a name"; console.log(greeting); }; This is not running and showing as not a function const fluffy = new Kitten({ name: 'fluffy' }); esponjoso.hablar();
En la página Getting Started para mongoose, indica que los métodos deben declararse antes de llamar a mongoose.model() :
// NOTE: methods must be added to the schema before compiling it with mongoose.model() kittySchema.methods.speak = function speak() { const greeting = this.name ? "Meow name is " + this.name : "I don't have a name"; console.log(greeting); }; const Kitten = mongoose.model('Kitten', kittySchema); ```