8

这是我的架构

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

但是,当我:

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

我明白[object Object]了,虽然它应该返回{url:"asd",type:"asd"}

事实上,如果我去查询它,我会得到:

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

2 回答 2

22

要使用type在嵌入式子文档中命名的字段,例如storage,您必须使用显式定义,否则 Mongoose 会感到困惑:

var elementSchema = new Schema({
  name: String,
  storage: {
    url: String,
    type: { type: String }
  }
});
于 2013-02-07T15:46:51.923 回答
-2

不使用console.log(),改为使用

var util = require('util');
util.inspect(newElement.storage);
于 2013-02-07T15:34:52.340 回答