Reputation: 9254
This is my schema
var elementSchema = new Schema({
name: String,
storage: {
url: String,
type: String
}
});
However when I:
var newElement = new Element();
newElement.storage = {};
newElement.storage.url = "asd";
newElement.storage.type = "asd";
console.log(newElement.storage);
I get [object Object]
, whilst it should return {url:"asd",type:"asd"}
In facts, if I go and query it, I get:
{
storage: "[object Object]",
bubble: ObjectId("510880b82e6e350200000002"),
_id: ObjectId("5113c0c0786ece0000000001"),
__v: 0
}
Upvotes: 8
Views: 3313
Reputation: 311865
To use a field named type
in an embedded sub-document like storage
, you have to use an explicit definition or Mongoose gets confused:
var elementSchema = new Schema({
name: String,
storage: {
url: String,
type: { type: String }
}
});
Upvotes: 22
Reputation: 11778
don't use console.log()
, use instead
var util = require('util');
util.inspect(newElement.storage);
Upvotes: -2