Ваш пример на самом деле не имеет смысла («статьи» не является коллекцией GridFS, поэтому его документы _ids, вероятно, не будут соответствовать файлам GridFS), но вот пример вставки / возврата изображения:
$m = new Mongo();
$db = $m->example;
$gridFS = $db->getGridFS();
$id = 123;
// store
$gridFS->storeFile("someFile.jpg", array("_id" => $id));
// retrieve
echo $gridFS->findOne(array("_id" => $id))->getBytes();
Попробуйте запросить $db->fs->files
, чтобы узнать, для каких _id вы должны запрашивать.
Кроме того, вы не можете создать MongoId из произвольной строки. Вы можете создать его с 24-значной шестнадцатеричной строкой. Просто используйте другой тип для поля _id, если вы хотите что-то другое (как указано выше).