我是Sequelize的新人,我有一个问题:
如何使用sequelize正确编写此代码?
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)
答案 0 :(得分:0)
我做了第一个没有关联的人。那是因为我不想要一个结果单独的表,因为该数组只会用在这个特定的关系/集合(Category)上。我也知道我会在Postgres上使用Sequelize。如果你有使用Postgres做Sequelize的奢侈,你可以使用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之前的开头下划线告诉sequelize这是一个数组。