Mongoose-将对象数组发布到混合
被这个难住了: 我有一个名为“步骤”的预构建对象集,其中包含一组子对象。它已经消毒过了,并且设置得很好,所以我想把它推到整个Mongo中 我有一个猫鼬模式,看起来像这样:Mongoose-将对象数组发布到混合,mongoose,node-mongodb-native,Mongoose,Node Mongodb Native,被这个难住了: 我有一个名为“步骤”的预构建对象集,其中包含一组子对象。它已经消毒过了,并且设置得很好,所以我想把它推到整个Mongo中 我有一个猫鼬模式,看起来像这样: var SummarySchema = new Schema ({ title : {type: String, trim: true}, steps : {}, created : Date, updated : Date, testKey : Number }) 绝对没有什么能让它
var SummarySchema = new Schema ({
title : {type: String, trim: true},
steps : {},
created : Date,
updated : Date,
testKey : Number
})
绝对没有什么能让它保存下来-我已经尝试过了,这让我变得“未定义”
console.log(摘要)代码>了解我
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。
在任何情况下,它都不能节省成本。我不知道为什么它至少不能保存一个空的结构,但是它完全失败了
你能不能把东西推到一个混合的物体里?正确的做法是什么?即使以“更整洁”的方式返回数据的循环也会失败。问题在于,您试图为文档分配一个空字符串作为\u id
,该类型不是有效的ObjectId
类型
省略此分配,文档将使用摘要构造函数已创建的\u id
正确保存。尝试使用以下命令在架构中定义步骤:步骤:对象
无骰子,保存时仍返回undefined。您将在中间的代码块中获得undefined
,因为您试图将\u id
设置为无效的ObjectId
类型的空字符串。如果您删除手动\u id
分配,它应该会工作。Herp-a-DERP,它工作了。你能“回答”这个问题让我接受吗?谢谢
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 }