【发布时间】:2014-03-02 16:00:04
【问题描述】:
我在保存嵌套子文档时遇到问题 - 不确定是因为它不是数组还是什么 - 文档似乎暗示嵌套对象是自动保存的,但在这种情况下它们不是。
子架构:
var Address = new Schema({
phone: String,
name: String,
street: { type: String, required: true }
});
主架构:
var Order = new Schema({
code: {
type: String
},
address: {
type: Schema.Types.ObjectId,
ref: "Address"
}
});
这些都不行。
创建文档不会抛出错误但子文档不会保存
var a = new Address({ phone: 000 });
var o = new Order({ address: a }).save();
这给出了一个 Cast to ObjectId failed 错误:
var o = new Order({ address: { phone: 000 } }).save();
这似乎可行的唯一方法是先保存子文档,我想避免这样做,因为我有多个地址,所以有点乱。
奇怪的是我从来没有遇到过这个问题 - 有什么想法吗?
【问题讨论】:
标签: javascript node.js mongoose