2017-09-19 7 views
0

私はSequelizeで新しく、問題があります:モンゴースtoポストグレイド

このコードを正しく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) 
+1

最初のものは[関連付け]です(http://docs.sequelizejs.com/manual/tutorial/associations.html#one-to-many-associations) –

答えて

0

Iは関連せず最初のものをしました。なぜなら、配列はこの特定のリレーション/コレクション(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を告げる前に、これはアンダースコア配列。

関連する問題