1. ホーム
  2. javascript

[解決済み] Mongooseのサブドキュメントとネストされたスキーマの比較

2022-05-17 13:30:52

質問

サブドキュメントの使用とメインスキーマのより深いレイヤーの長所と短所を知りたいのですが。

var subDoc = new Schema({
  name: String
});

var mainDoc = new Schema({
  names: [subDoc]
});

または

var mainDoc = new Schema({
  names: [{
    name: String
 }]
});

現在、あらゆる場所でサブドキュメントを使用していますが、主にパフォーマンスやクエリの問題について疑問に思っています。

どのように解決するのですか?

によると ドキュメントによると によると、全く同じです。 ただし、スキーマを使うと _id フィールドも追加され (無効にしない限り)、おそらくサブドキュメントの追跡のためにさらにいくつかのリソースを使用します。

代替の宣言構文

v3 での新機能 サブドキュメントスキーマのインスタンスにアクセスする必要がない場合、単にオブジェクトリテラルを渡すことでサブドキュメントを宣言することもできます[...]。