2017-09-13 34 views
0

Ich habe dynamisch einige Felder erstellt (sie sind nicht in meinem Modell). Ich fand meine Sammlung mit COLLECTION.findById .....mongoDB dynamisch erstellte Felder

Wenn ich Pfade abrufen möchte, zeigt es nicht dynamisch erstellte Pfade.

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 

in Object.keys sind nicht dynamisch Felder erstellt.

command line + Robo 3T

ich es nicht lösen kann. In DB sieht es so aus, als wäre es korrekt gespeichert.

Dank

+0

Huh? Der rechte Teil des Screenshots zeigt deutlich die hinzugefügten Felder. –

+0

Ja, aber ich kann Pfade dieser Felder nicht erhalten .... nur Pfade von Feldern, die im Modell definiert sind –

Antwort

0

Try this:

result.get('cssczz', mongoose.Schema.Types.Object) 

Wenn Sie versuchen, Feld abzurufen, die nicht in Schema definiert ist müssen Sie sagen, was es Art ist erwartet wird.

Alternativ könnte dies auch funktionieren:

var resultAsObject = result.toObject(); 
console.log(resultAsObject.csszz); 

Jedesmal, wenn Sie versuchen, einen Wert von Mungo-Objekt abzurufen, das Schema-Definition überprüft sicher Wert machen richtige Typ. Um eine Eigenschaft abzurufen, die nicht im Schema enthalten ist, müssen Sie entweder mongoose mitteilen, um was es sich handelt, oder mongoose-Objekt zuerst in ein einfaches JS-Objekt konvertieren.

Docs: http://mongoosejs.com/docs/api.html#document_Document-get http://mongoosejs.com/docs/api.html#document_Document-toObject

Verwandte Themen