Я застрял на получении виртуального атрибута в mon goose, чтобы вернуть количество документов другой модели, что, я думаю, связано с моим непониманием того, как работает js. Я просто хочу получить из виртуального атрибута возвращаемые значения, отличные от 0 («внутренние значения n»), тогда как возвращаемые мной значения атрибутов всегда равны 0.
categorySchema
.virtual('num_wordlists')
.get(function () {
var n = 0;
Wordlist.countDocuments({category_id: this._id}, function(err, count) {
n = count;
console.log("inner n: " + n);
});
console.log("n: " + n);
return n;
});
когда виртуальный атрибут num_wordlists схемы categorySchema имеет значение got, выдает следующую трассировку:
n: 0
n: 0
inner n: 26
inner n: 3
inner n: 26
inner n: 3