想弄个简单的文章发布系统,所有文章需要属于一个分类,求教数据库怎么设计,一级就够。
//文章模型
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var AticleSchema = new Schema({
title: { type: String },
author_id: { type: String},
content:{type:String},
create_at: { type: Date, default: Date.now },
update_at: { type: Date, default: Date.now },
});
AticleSchema.index({title: 1}, {unique: true});
mongoose.model('Aticle', AticleSchema);
最简单粗暴的办法,你可以通过表关联,建立两个schema,一个文章,一个文章分类。
1,分类文档的schema
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var ObjectId = Schema.Types.ObjectId; // 这个是关联的地方
var AticleCategorySchema = new Schema({
name: String, // 分类名字
aticle:[{type:ObjectId,ref:'Aticle'}] // 表关联
})
2,另外一个文章文档的schema跟你自己写的一样,只是做一点修改
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var ObjectId = Schema.Types.ObjectId; // 这个是关联的地方
var AticleSchema = new Schema({
title: { type: String },
author_id: { type: String},
content:{type:String},
create_at: { type: Date, default: Date.now },
update_at: { type: Date, default: Date.now },
aticleCategory:{ // 关联表
type:ObjectId,
ref:'AticleCategory'
},
});
其余的代码按你的方式自行添加。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。