2013-02-07 10 views
8

Questo è il mio schemaMongoose 3.4.0 ritorna [object Object] invece di valori reali - Nodejs

var elementSchema = new Schema({ 
    name: String, 
    storage: { 
    url: String, 
    type: String 
    } 
}); 

Tuttavia quando ho:

var newElement = new Element(); 
    newElement.storage = {}; 
    newElement.storage.url = "asd"; 
    newElement.storage.type = "asd"; 
    console.log(newElement.storage); 

ottengo [object Object], mentre deve restituire {url:"asd",type:"asd"}

In effetti, se vado a interrogarlo, ottengo:

{ 
    storage: "[object Object]", 
    bubble: ObjectId("510880b82e6e350200000002"), 
    _id: ObjectId("5113c0c0786ece0000000001"), 
    __v: 0 
} 

risposta

22

Per utilizzare un campo denominato type in un sub-documento incorporato come storage, è necessario utilizzare una definizione esplicita o Mongoose si confonde:

var elementSchema = new Schema({ 
    name: String, 
    storage: { 
    url: String, 
    type: { type: String } 
    } 
}); 
+0

Questo mi prende sempre e non riesco mai a ricordare la soluzione. Grazie! – Micah

-1

non usano console.log(), utilizzare

var util = require('util'); 
util.inspect(newElement.storage); 
+0

grazie per il suggerimento, questo però non risolve il problema. :( – nick

Problemi correlati