Php 如何在mogodb中删除json元素?
以下是Php 如何在mogodb中删除json元素?,php,mongodb,mongodb-php,Php,Mongodb,Mongodb Php,以下是mongodb中的内容: { "_id": 74924, "bangs": { "436": { "join_time": 1345624851, "status": 1, "scores": 0 }, "446": { "join_time": 1355727257, "status": 1, "scores": 0 } }, "_id": 74926, "ba
mongodb
中的内容:
{
"_id": 74924,
"bangs": {
"436": {
"join_time": 1345624851,
"status": 1,
"scores": 0
},
"446": {
"join_time": 1355727257,
"status": 1,
"scores": 0
}
},
"_id": 74926,
"bangs": {
"436": {
"join_time": 1345624851,
"status": 1,
"scores": 0
},
"446": {
"join_time": 1355727257,
"status": 1,
"scores": 0
}
}
}
$mongo->users->users->update(array('_id'=>74924), array('$pull'=>array('bangs'=>436)));
我想删除:
"436": {
"join_time": 1345624851,
"status": 1,
"scores": 0
},
where _id=74924
结果将是:
{
"_id": 74924,
"bangs": {
"446": {
"join_time": 1355727257,
"status": 1,
"scores": 0
}
},
"_id": 74926,
"bangs": {
"436": {
"join_time": 1345624851,
"status": 1,
"scores": 0
},
"446": {
"join_time": 1355727257,
"status": 1,
"scores": 0
}
}
}
我这样写代码:
{
"_id": 74924,
"bangs": {
"436": {
"join_time": 1345624851,
"status": 1,
"scores": 0
},
"446": {
"join_time": 1355727257,
"status": 1,
"scores": 0
}
},
"_id": 74926,
"bangs": {
"436": {
"join_time": 1345624851,
"status": 1,
"scores": 0
},
"446": {
"join_time": 1355727257,
"status": 1,
"scores": 0
}
}
}
$mongo->users->users->update(array('_id'=>74924), array('$pull'=>array('bangs'=>436)));
但是记录没有被删除
如何编写代码?提前谢谢 您可以使用以下方法将其删除:
db.test.update( { _id:74924 }, { $unset: {"bangs.436":1} } )
// I think this can be written in php like this:
$mongo->users->users->update(array('_id'=>74924), array('$unset'=>array('bangs.436'=>1)));
您可以通过以下操作将其删除:
db.test.update( { _id:74924 }, { $unset: {"bangs.436":1} } )
// I think this can be written in php like this:
$mongo->users->users->update(array('_id'=>74924), array('$unset'=>array('bangs.436'=>1)));
请讲述一个可能影响你获得好答案能力的问题。请讲述一个可能影响你获得好答案能力的问题。