Răsfoiți Sursa

get tag documents in createTagListWithCount

yusuketk 7 ani în urmă
părinte
comite
0b1a7b6e45
1 a modificat fișierele cu 7 adăugiri și 3 ștergeri
  1. 7 3
      src/server/models/page-tag-relation.js

+ 7 - 3
src/server/models/page-tag-relation.js

@@ -38,17 +38,21 @@ class PageTagRelation {
   }
 
   static async createTagListWithCount(opt) {
-    const count = await this.aggregate()
+    const Tag = PageTagRelation.crowi.model('Tag');
+    const list = await this.aggregate()
       .group({ _id: '$relatedTag', count: { $sum: 1 } })
       .sort(opt.sortOpt)
       .skip(opt.offset)
       .limit(opt.limit);
-    return count;
+
+    const tags = await Tag.find({ _id: { $in: list.map((elm) => { return elm._id }) } });
+    return list;
   }
 
 }
 
-module.exports = function() {
+module.exports = function(crowi) {
+  PageTagRelation.crowi = crowi;
   schema.loadClass(PageTagRelation);
   const model = mongoose.model('PageTagRelation', schema);
   return model;