php – 从子数组mongo文档中删除元素
发布时间:2020-12-13 17:45:23 所属栏目:PHP教程 来源:网络整理
导读:我试图从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" : "Tea
我试图从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')) ) ); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |