Mongoose-将对象数组发布到混合

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 }) 绝对没有什么能让它

被这个难住了:

我有一个名为“步骤”的预构建对象集,其中包含一组子对象。它已经消毒过了,并且设置得很好,所以我想把它推到整个Mongo中

我有一个猫鼬模式,看起来像这样:

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 }