Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/249.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在mogodb中删除json元素?_Php_Mongodb_Mongodb Php - Fatal编程技术网

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)));
请讲述一个可能影响你获得好答案能力的问题。请讲述一个可能影响你获得好答案能力的问题。