私は動的にいくつかのフィールドを作成しました(私のモデルにはありません)。 COLLECTION.findByIdでコレクションを見つけました.....mongoDB動的に作成されたフィールド
パスを取得したい場合、動的に作成されたパスは表示されません。
console.log(result);
{ lv: { name: 'List vlastníctva', exist: false },
projekt: { name: 'Projektová dokumentácia', exist: false },
uzemne_rozhodnutie: { name: 'Územné rozhodnutie', exist: true },
complete: false,
sctcst: { name: 'ščťčšť', exist: false },
ctyzy: { name: 'čťýžý', exist: false },
cssczz: { name: 'čšščžž', exist: false },
__v: 0,
_id: 59b916633d77c1cf2958f007 }
console.log(Object.keys(result.schema.paths));
[ 'lv.name',
'lv.exist',
'projekt.name',
'projekt.exist',
'uzemne_rozhodnutie.name',
'uzemne_rozhodnutie.exist',
'complete',
'_id',
'__v' ]
console.log(result.lv);
{ name: 'List vlastníctva', exist: true }
console.log(result.cssczz);
undefined
のObject.keysは動的に作成されたフィールドではありません。
私はそれを解決することはできません。 DBでは、正しく保存されているように見えます。あなたはタイプがあると予想何伝える必要があり、スキーマで定義されていないフィールドを取得しようとしている場合
result.get('cssczz', mongoose.Schema.Types.Object)
:
おかげ
えっ?スクリーンショットの右側には、追加されたフィールドが明確に示されています。 –
はい、私はそのフィールドのパスを取得できません....モデルで定義されているフィールドのパスのみ –