无法插入子文档

时间:2015-05-12 05:31:03

标签: node.js mongodb mongoose

我有以下架构

$this->db->set('Status',0);
$this->db->where('EventDatetime <', '2015-05-12 01:17:23');
$this->db->update('eventinfo');

现在,我希望将条目插入parent.children。

我做了以下事情:

var ChildSchema = new Schema({
    name: String,
    value: String
});

var ParentSchema = new Schema({
    children: [ChildSchema]
});

当我使用console.log时,我可以看到此记录已成功添加到父记录的子属性中。它也提供了一个ID。

现在,我尝试保存记录:

parentRecord.children.push({
    name:"foo",
    value: "bar"
});

虽然保存成功,但我发现该条目未添加到children属性中。

  1. 我甚至尝试使用parentRecord.save(myCallback); ,但这也无济于事
  2. 我还确保在宣布parentRecord.markModified("children");之前声明ChildSchema
  3. 我最终试图找出错误的结果。我已将mongoose的debug属性设置为true。我可以看到它确定了新条目,但我无法看到它被保存在我的数据库中。

    以下是调试消息的输出:

    ParentSchema

    我需要做些什么才能获得要保存的条目?

    我正在使用mongoose 3.8.12

1 个答案:

答案 0 :(得分:0)

从我可以通过更改日志告诉我看起来这是一个在3.8.13版本中解决的问题。您可能想尝试升级。

https://github.com/Automattic/mongoose/issues/2082