ContentCategory.js 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. /**
  2. * Created by Administrator on 2015/4/15.
  3. * 文章类别对象
  4. */
  5. var mongoose = require('mongoose');
  6. var shortid = require('shortid');
  7. var Schema = mongoose.Schema;
  8. var TemplateItems = require('./TemplateItems');
  9. var settings = require('./db/settings');
  10. var ContentCategorySchema = new Schema({
  11. _id: {
  12. type: String,
  13. unique: true,
  14. 'default': shortid.generate
  15. },
  16. uid : { type: Number, default: 0 },
  17. name: String,
  18. keywords : String,
  19. sortId : { type: Number, default: 1 }, // 排序 正整数
  20. parentID : { type: String, default: "0" },
  21. state : { type: String, default: "1" }, //是否公开 默认公开
  22. date: { type: Date, default: Date.now },
  23. contentTemp : { type: String, ref: "TemplateItems" }, // 内容模板
  24. defaultUrl : { type: String, default: "" }, // 父类别的默认目录
  25. homePage : { type: String, default: "ui" }, // 必须唯一
  26. sortPath : { type: String, default: "0" }, //存储所有父节点结构
  27. comments : String
  28. });
  29. ContentCategorySchema.statics = {
  30. //更新大类模板,子类模板同步更新
  31. updateCategoryTemps : function(req,res,cateId){
  32. if(shortid.isValid(cateId)){
  33. var cateQuery = {'sortPath': { $regex: new RegExp(cateId, 'i') }};
  34. ContentCategory.update(cateQuery,{$set:{contentTemp:req.body.contentTemp}},{multi : true},function(err){
  35. if(err){
  36. res.end(err);
  37. }
  38. })
  39. }else{
  40. res.end(settings.system_illegal_param);
  41. }
  42. },
  43. //根据Id查询类别信息
  44. getCateInfoById : function(cateId,callBack){
  45. ContentCategory.findOne({"_id": cateId}).populate('contentTemp').exec(function(err,doc){
  46. if(err){
  47. res.end(err);
  48. }else{
  49. callBack(doc);
  50. }
  51. })
  52. }
  53. };
  54. var ContentCategory = mongoose.model("ContentCategory",ContentCategorySchema);
  55. module.exports = ContentCategory;