2016-07-23 12 views
0

イメージを既存のドキュメントにアップロードしようとしています(もう1つのフィールドを追加します)。私は電子メールでドキュメントを探しています。ここ は私のコードです: -PHPを使用してMongoDB文書にフィールドをもう一度追加するにはどうすればよいですか?

<?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のドキュメントに1つ以上のフィールドを追加するにはどうすればよいですか?あなたはそれが代わりにフェッチされたレコードに保存されますfindOneを使用しているので

$foundRecord = $db->findOne(array('Email'=>$email)); 
$foundRecord['uploadpic1'] = new MongoBinData(file_get_contents($imgurl); 
$db->save($foundRecord); 

:あなたが1つのレコードだけを検索する場合

答えて

0

まず、あなたはその後、次の操作を行うことができ$db->findOne

を使用する必要があります$db->save($foundRecord);

を使用する場合は、

を使用する必要がある場合は、それを使用します。
$db->update(array('Email'=>$email), array('$set' => array('uploadpic1' => new MongoBinData(file_get_contents($imgurl))))); 
+0

ありがとうございました。できます。! –

関連する問題