我正在尝试从array key
中删除特定的MongoDB document
。
{
"_id": "5b4d2548d6bd1de5ba2a7180",
"Fruits": {
"Apple": [{
"weight": "0.502",
"quantity": 1000,
"ts": 1531870931
},
{
"weight": "0.0334",
"quantity": 345,
"ts": 1531870931
}
],
"Banana": [{
"weight": "0.302",
"quantity": 10,
"ts": 1531870931
}]
}
}
我想从Apple
中删除元素database
。
我找到了非常相似的解决方案,但是它们都删除了array
的一个元素(就像Apple
中的一个条目一样)。
document
中始终只有一个collection
。
$bulk = new MongoDB\Driver\BulkWrite();
$bulk->update(array(),
array('$pull' => array("Fruits" => array("Apple"))),
["limit" => 1, '_id' => -1, 'upsert' => true]);
$result = $this->db->executeBulkWrite($db . '.' . $collection, $bulk);
0修改,更新,删除或添加的条目;不变的DB
{
"_id": "5b4d2548d6bd1de5ba2a7180",
"Fruits": {
"Banana": [{
"weight": "0.302",
"quantity": 10,
"ts": 1531870931
}]
}
}