从mongodb中的json中删除空对象

时间:2015-04-07 17:20:47

标签: php json mongodb mandango

我正在使用php和MongoDB,我正在使用的开源库生成一个自动生成的代码来调用mongodb。它有点像ODM层。

现在,当我使用嵌入式文档时,在父文档中,我必须更新嵌入式文档集,库使用$unset进行调用,Original: { "parentDocument": { "parent_id": "1", "embeddedDocument": { "0": { "childValue": "0" }, "1": { "childValue": "1" }, "2": { "childValue": "2" } } } } 根据Documentation设置值index为null并且不会将其删除。

因此,现在当我想要替换嵌入的文档集时,我必须首先删除($ unset)现有的集合,然后添加new,留下我的结果如下:

{
    "parentDocument": {
        "parent_id": "1",
        "embeddedDocument": {
            "0": null,
            "1": null,
            "2": {
                "childValue": "2"
            }

        }
    }
}

更新:

{{1}}

如何从数据库中清除这些数据.. ?? 我尝试了很多论坛,没有找到任何有效的解决方案。 我需要清理这些完整的数据。感谢

1 个答案:

答案 0 :(得分:1)

您应该使用$pull代替$unset

  • $unset会将数组中的元素设置为null

  • $pull将从数组中删除元素

您可以使用$pull:{'a.b':null}

删除null元素