2

私のコレクションがMongoDBに次のように保存されていると考えてください:

  { 
    _id: 'Unique_Value',
    FieldMONGO1: 'ngfn',
    FieldMONGO2: { SomeKey: ['val1','val2','val...']  },
  }

Mongoose の Model Instance で find メソッドを使用して取得すると。次のJSON 出力が得られます。

  { 
    _id: 'Unique_Value',
    FieldMONGO1: 'NAME_value',
    FieldMONGO2: { SomeKey: ['val1','val2','val...']  },
  }

どちらもまったく同じです。

質問:FieldMONGO1フィールド名をto FirstNameFieldMONGO2to NewName& _idtoのように変更する方法はありますIdentityNoか?

私の出力は次のようになります:

  { 
    IdentityNo: 'Unique_Value',
    FirstName: 'ngfn',
    NewName: { SomeKey: []  },
  }

知っている解決策: JSON 出力をそのまま取得してから、Node.js コードのフィールド (属性) 名を変更することです。しかし、ここでの問題は、それがブロッキング コードになることです。巨大なデータが要求された場合、サーバーにオーバーヘッドが発生する可能性があります。

同じことを行う効率的な方法を見つけるのを手伝ってくれる人はいますか?

事前の感謝

4

1 に答える 1

5

マングースでチェックアウトVirtualsします。

リファレンスリンクの例を確認してください。

あなたが好きなように微調整する場合

urSchema.virtual('FirstName').get(function () {
  return this.FieldMONGO1;
});

あなたはそれを行うことができます。

SOでこの回答を確認してください。

于 2013-02-07T13:19:02.053 に答える