我有一个现有的新闻文章部分,我想添加类别以进行更精细的搜索,我的架构如下:
var ArticleSchema = new Schema({
title: String,
body: String,
author: {
type: Schema.Type.ObjectId,
ref: 'User',
required: true
},
image: String,
catagories: [{
type: Schema.Types.ObjectId, ref: 'Catagory'
}],
meta: {
created: {
type: Date,
'default': Date.now,
set: function(val) {
return undefined;
}
},
updated: {
type: Date,
'default': Date.now
}
}
});
ArticleSchema.statics.search = function (str, callback) {
var regexp = new RegExp(str, 'i');
return this.find({'$or': [{title: regexp}, {body: regexp}]}, callback);
};
module.exports = ArticleSchema;
var CatagorySchema = new mongoose.Schema({
name: { type: String, unique: true },
});
module.exports = CatagorySchema;
我想要一个用户友好的输入来选择类别(甚至不知道这里最好的是什么,无论是复选框还是简单的逗号分隔文本输入等)。我的问题是获得这种输入并将其转换为文章模式的最佳实践是什么(假设存在类别)。如果有人能指出我正确的方向,将不胜感激。谢谢。