0
难住这一个:猫鼬 - 发布对象数组混合
我有一个预建的对象集称为“步”,包含一堆子对象。它已经过消毒和正确设置,所以我只想将它推入Mongo整体。
我有一个猫鼬的模式是这样的:
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循环将步骤推入数据库。 在任何情况下,它都不会保存。我不知道为什么它至少不能保存一个空的结构,但它完全失败了。
你不能把东西推入混合对象吗?这样做的正确方法是什么?即使循环以“更整洁”的方式返回数据也会失败。
尝试在模式中使用以下步骤定义步骤:'steps:Object' – scarlz
没有骰子,仍然在保存时返回undefined。 – pretentiousgit
你将在你的中间代码块中得到'undefined',因为你试图将'_id'设置为一个空字符串,这不是一个有效的'ObjectId'类型。如果你删除手动'_id'赋值,它应该可以工作。 – scarlz