-1
我已經實施CRUD
操作使用PHP + MongoDB
。以下代碼用於使用GridFS
上傳任何文件。MongoDB更新GridFS記錄
$conn = new MongoClient();
$db = $conn->selectDB('mydb');
$gridfs = $db->getGridFS('uploads');
foreach ($_FILES as $file) {
if(in_array($file['type'], $acceptedTypes)){
$id = $gridfs->storeFile($file['tmp_name'], array('filename' => $file['name'], 'type' => $file['type'], "id"=> 13, "parentId" => "10", "title" => $file['name'], "isFolder" => 0));
}else{
echo 'file is not of correct type';
}
}
$conn->close();`
我可以上傳使用上面的代碼中的任何文件,但是當我嘗試更新的任何文件的title
它只是不工作。更新文件名的代碼如下。
$files = $db->fs->uploads;
$primId = $_GET['id_value'];
$renameTitle = $_GET['name'];
$updateData = array("title" => $renameTitle, "updatedDate" => date('Y-m-d'));
$files->update(array("id" => $primId), array('$set' => $updateData));
$conn->close();
這將更新其ID
傳遞的任何文件的title
。如果我需要更新任何記錄,但是它不適用於任何GridFS
文件上載,則該代碼可用。
更準確地說如果我通過ID
像下面,
$file = $gridfs->findOne(array('id' => 13)); **//WORKS**
$file = $gridfs->findOne(array('id' => $_GET['id'])); **//DO NOT WORKS**
有以更新GridFS
記錄,可使用任何其它方法?
謝謝。