我是新来的续集,我有一个问题:
如何在下面的续集中正确编写此代码?
1)default_tags: []
-此行
2)Category.set()
-这条线
var mongoose = require('../lib/mongoose')
var Category = new mongoose.Schema({
name: {
type: String,
unique: true,
},
description: String,
default_tags: [{
type: mongoose.Schema.Types.ObjectId,
ref: 'Tag',
}],
})
Category.set('toJSON', {
virtuals: true,
versionKey: false
})
module.exports = mongoose.model('Category', Category)
我做了第一个没有关联。那是因为我不希望由此产生的单独表,因为数组只能在此特定关系/集合(类别)上使用。我也知道我将与Postgres一起使用续集。如果您有使用Postgres进行续集的奢侈,则可以使用Postgres复合类型:
sequelize.query(
"CREATE TYPE category_tags_type AS (type varchar,ref varchar );"
);
然后在运行时,您可以做
const Category = sequelize.define( "category",
{ name: Sequelize.STRING, description: Sequelize.string,
default_tags: '_category_tags_type'
}
category_tags_type之前的开头下划线告诉这是一个数组。