3

NOSQL と MongoDB は初めてで、NodeJS と Mongoose を使用してアプリを作成しています。また、新しいコレクションの mongoose スキーマを作成しています。

このコレクションのドキュメントにはいくつかの標準フィールド (id、作成日、ユーザーなど) がありますが、ドキュメントに応じて異なるデータを含める必要がある「データ」フィールドである他のものを保存する必要があります。値は単純なテキストの場合もあれば、多数のキーと値のペアを含む場合もあります。

この種の保存のニーズに最適なソリューションは何でしょうか。

-文字列型の「データ」フィールドを 1 つだけ作成し、そこにさまざまな型のデータを入れます (単純な値の場合はテキスト、より複雑なデータの場合は文字列化されたオブジェクト)。

-「より複雑なデータ」が持つ可能性のあるすべてのフィールドをモデルに作成し、各ドキュメントで必要なものだけを使用します

-何か他のもの

この種のベストプラクティスは何ですか?

4

2 に答える 2

3

Mixed schemaType を使用してみてください。それがあなたが探しているものだと思います: http://mongoosejs.com/docs/schematypes.html

于 2013-05-03T12:03:59.607 に答える
2

これです:

-「より複雑なデータ」が持つ可能性のあるすべてのフィールドをモデルに作成し、各ドキュメントで必要なものだけを使用します

スキーマの標準フィールドを としてマークしrequired: true、残りはオプションのままにします。そうすれば、検証、キャスト、および変更検出という Mongoose の利点を失うことなく、必要な柔軟性を得ることができます。

于 2013-05-03T12:04:59.363 に答える