php – 从子数组mongo文档中删除元素

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – 从子数组mongo文档中删除元素脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图从mongo文档中删除子数组元素.我的文档(记录)是这样的:

{
    "_id" : 1,...,"team" : {
        "players" : [{
            "name" : "A B","birthday" : new Date("11/11/1995")
          },{
            "name" : "A C","birthday" : new Date("4/4/1991")
          }],"matches" : [{
            "against" : "Team B","matchDay" : new Date("11/16/2012 10:00:00")
          }]
      }
}

现在我想从我的文档中删除“A B”播放器.我试过这个:

$result = $collection->update(
    array('_id' => 1),array('$pull' => array('team.players.name' => 'A B'))
);

结果似乎没问题

(
    [updatedExisting] => 1
    [n] => 1
    [connectionId] => 8
    [err] => 
    [ok] => 1
)

但是播放器仍然存在于文档中.

谢谢!

解决方法

您的更新对象应该是这样的:

{
    "$pull": {
        "team.players": {
            name: "A C"
        }
    }
}

所以在PHP中它将是:

$result = $collection->update(
    array('_id' => 1),array('$pull' => 
        array('team.players' => array('name' = > 'A B'))
    )
);

脚本宝典总结

以上是脚本宝典为你收集整理的php – 从子数组mongo文档中删除元素全部内容,希望文章能够帮你解决php – 从子数组mongo文档中删除元素所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。