难以理解:
我有一个预先构建的对象集,称为“步骤”,包含一堆子对象。它已经过消毒和正确设置,所以我想把它整个塞进整个Mongo。
我有一个Mongoose架构,如下所示:
var SummarySchema = new Schema ({
title : {type: String, trim: true},
steps : {},
created : Date,
updated : Date,
testKey : Number
})
绝对没有什么可以让它得救 - 我试过这个,这让我“未定义”
var summary = new Summary();
summary._id = '';
summary.user = req.body.user;
summary.testKey = req.params.testId;
summary.steps = req.body.steps;
summary.save(function(err, data, number) {
if (err)
res.send(err);
console.log('I have added and saved a summary', data);
});
console.log (summary);
让我
summary { steps:
[ { tags_single: [Object],
pass_fail: false,
session_by_user: [Object],
name: 'Apollonius of Perga' },
{ tags_single: [Object],
pass_fail: false,
session_by_user: [Object],
name: 'Orion\'s sword' } ],
testKey: 184702356266,
_id: 53d2ca9e61b11bab40000004 }
和各种for循环将步骤推入DB。 在每种情况下,它根本不保存。我不知道为什么它至少不会保存一个空结构,但它完全失败了。
你能不能把东西搞成混合物?这样做的正确方法是什么?甚至以“更整洁”的方式返回数据的循环也会失败。
答案 0 :(得分:1)
问题是您尝试为文档指定一个空字符串作为_id
,这不是有效的ObjectId
类型。
省略此分配,文档将使用_id
构造函数已创建的Summary
正确保存。