yusuketk 7 лет назад
Родитель
Сommit
1f29040023
2 измененных файлов с 14 добавлено и 17 удалено
  1. 2 16
      src/server/models/page-tag-relation.js
  2. 12 1
      src/server/models/tag.js

+ 2 - 16
src/server/models/page-tag-relation.js

@@ -38,32 +38,18 @@ class PageTagRelation {
   }
 
   static async createTagListWithCount(opt) {
-    const Tag = PageTagRelation.crowi.model('Tag');
-
-    // get objects contain id and count
     const list = await this.aggregate()
       .group({ _id: '$relatedTag', count: { $sum: 1 } })
       .sort(opt.sortOpt)
       .skip(opt.offset)
       .limit(opt.limit);
 
-    // get tag document for add name data to the list
-    const tags = await Tag.find({ _id: { $in: list.map((elm) => { return elm._id }) } });
-
-    // add name data
-    const result = list.map((elm) => {
-      const tag = tags.find((tag) => { return (tag.id === String(elm._id)) });
-      elm.name = tag.name;
-      return elm;
-    });
-
-    return result;
+    return list;
   }
 
 }
 
-module.exports = function(crowi) {
-  PageTagRelation.crowi = crowi;
+module.exports = function() {
   schema.loadClass(PageTagRelation);
   const model = mongoose.model('PageTagRelation', schema);
   return model;

+ 12 - 1
src/server/models/tag.js

@@ -33,7 +33,18 @@ class Tag {
   static async findList(opt) {
     const PageTagRelation = Tag.crowi.model('PageTagRelation');
     const list = await PageTagRelation.createTagListWithCount(opt);
-    return list;
+
+    // get tag document for add name data to the list
+    const tags = await this.find({ _id: { $in: list.map((elm) => { return elm._id }) } });
+
+    // add name data
+    const result = list.map((elm) => {
+      const tag = tags.find((tag) => { return (tag.id === String(elm._id)) });
+      elm.name = tag.name;
+      return elm;
+    });
+
+    return result;
   }
 
 }