2012-05-04 20 views
2

私はNode.js、Mongoなどに私を連れて行くために小さな製品システムを構築しています。 私はMongoに、複数のテーブル、eav、または他のMySQLメソッドのうち、まったく適合しなかったものを持たずに、同じコレクションに異なる型の製品を格納する可能性について描かれました。商品種類によって商品属性が異なる商品システムのためのマングース

私はチュートリアルを通して読んでいましたが、最初はProductModelのプロバイダを作成しましたが、誰かが私がMongooseを使うべきだと提案しました。

しかし、Mongooseの問題は、モデルごとに設定されたスキーマが必要なようです。私の最初のアイデアは、製品がtitletypeという属性を持つべきであるということでした。その後、typeは全体の製品構造を決定します。たとえば、dvd製品にはディレクタがあり、t-shirt製品にはディレクタはなく、サイズは異なります。

この種の構造をモンゴースに実装することは可能ですか?それは私がprodutの種類ごとにスキーマを提供する場合私は同時にそれらを照会することができないことを私の理解ですか?異なるスキーマは異なるコレクションを意味しますか? - 私はそれを理解できませんでした。

私はDBハンドリングを書くのではなく、フレームワークを使用したいと考えています(私が最初にやったことはありましたが、他の誰かが私よりも上手く行っていました:) )

答えて

0

マングースには、あなたのケースで非常に便利なスキルレスタイプがありますが、最適な解決策ではないかもしれません。

ProductSchema =新しいスキーマ({any:{}});

このオブジェクトの内容を変更した場合は、保存する前にobj.markModified( 'field-name')を使用してそのオブジェクトについてMongooseに通知する必要があります。

私が提案しているのは、node-mongodb-native以上のラッパーを使用することです。これは問題なく7〜8ヶ月間実稼働しています。

mongousという別のライブラリがあります。あなたがチェックアウトすることができます。

+0

ご回答ありがとうございます。しかし、Mongooseスキーマはあなたがそうでないと厳しくはないようです。また、Mongoose.modelを使用すると、どのコレクションが使用されるかを明確に定義することができます。それを継承と結びつけて、私が探しているものがあると思う。 –

関連する問題