statics са методите, дефинирани в Модела. methods са дефинирани в документа (екземпляра).
Може да използвате статичен метод като Animal.findByName :
const fido = await Animal.findByName('fido');
// fido => { name: 'fido', type: 'dog' }
И можете да използвате метод на екземпляр като fido.findSimilarTypes :
const dogs = await fido.findSimilarTypes();
// dogs => [ {name:'fido',type:'dog} , {name:'sheeba',type:'dog'} ]
Но не бихте направили Animals.findSimilarTypes() тъй като Animals е модел, той няма "тип". findSimilarTypes се нуждае от this.type което не би съществувало в модела Animals, само екземпляр на документ ще съдържа това свойство, както е дефинирано в модела.
По същия начин не бихте¹ направили fido.findByName защото findByName ще трябва да търси във всички документи и fido е простоа документ.
¹Е, технически вие можете , тъй като екземплярът има достъп до колекцията (this.constructor или this.model('Animal') ), но не би имало смисъл (поне в този случай) да има метод на екземпляр, който не използва никакви свойства от екземпляра. (благодаря на @AaronDufour, че посочи това)