我正在尝试将图像上传到现有文档。(通过添加一个字段。)我通过电子邮件输入找到我的文档。 这是我的代码: -
<?php
$errors = array();
$data = array();
$_POST = json_decode(file_get_contents('php://input'), true);
$name=$__POST["mn"];
$email=$__POST["me"];
$i2u=$_POST["image2upload"];
$binary = base64_decode($i2u);
$filepath = 'images/newuploads/'.$name.'/'.$name.'.jpg';
$imgurl = 'http://localhost/portfolio3/php/'.$filepath;
file_put_contents($filepath, $binary);
$m = new MongoClient();
$db = $m->mydb2->mycol2;
$foundRecord = $db->find(array('Email'=>$email));
$foundRecord->update(array(‘$set’ => array(‘uploadpic1’ => new MongoBinData(file_get_contents($imgurl)))));
?>
如何使用php向MongoDB文档添加一个字段?
答案 0 :(得分:0)
首先,如果您只搜索一条记录,则应使用$db->findOne
然后您可以执行以下操作:
$foundRecord = $db->findOne(array('Email'=>$email));
$foundRecord['uploadpic1'] = new MongoBinData(file_get_contents($imgurl);
$db->save($foundRecord);
由于您使用了findOne
,因此在使用$db->save($foundRecord);
否则,如果您想使用update
,则需要在其中指定查询:
$db->update(array('Email'=>$email), array('$set' => array('uploadpic1' => new MongoBinData(file_get_contents($imgurl)))));