我正在使用MongoDB GridFS存儲用戶頭像。我正在使用Laravel 4.2。MongoDB GridFS獲取文件ID
我正在寫一個函數來清理任何未使用的頭像的數據庫; 如果某個頭像的id與任何用戶(用戶模型)都沒有關聯,則該頭像未被使用。鑑於化身的ID,我可以從數據庫中刪除該文件。但是,我無法提取化身的ID,所以我可以將其與User
模型中的化身進行比較。
的數據是這樣的:
$avatars = DB::collection('user_avatars.files')->get();
return Response::json($avatars[0]);
//result:
{"_id":{"$id":"542797096a8d09ac318b456b"},"extension":"jpg","usage":0,"popularity":[],"filename":"image.jpg","uploadDate":{"sec":1411880713,"usec":671000},"length":248388,"chunkSize":262144,"md5":"2c724361015c7e438d30359dd9c724a0"}
現在,如果我寫的:
return Response::json($avatars[0]['_id']);
//result is:
{"$id":"542797096a8d09ac318b456b"}
我怎麼會搶542797096a8d09ac318b456b
?什麼是我迄今試圖不給的ID,但將引發一個錯誤:
$avatars[0]['_id']->$id;
$avatars[0]['_id']['$id'];
$avatars[0]['_id']->$$id;
$avatars[0]['_id']->{$id};
雖然[一行答案](http://meta.stackoverflow.com/questions/266954/one-line-answers)是可以接受的,但它們通常會導致答案被路由到Review Queue(* q.v. *)。另外,有時他們不被社區所接受。通常提供一個簡單的解釋是一個好主意。 – jww 2014-10-02 00:40:18
你是對的。然而,有些問題非常具體,以致需要「單線答案」。爲這些問題提供更多的線路將會產生反作用。如果我對這個答案的工作原理有了一些解釋,我會把它包括進來......實際上我會自己去找出它,因爲它可能無疑會幫助其他人,但我很高興我有一個解決方案,我可以繼續在我的項目上工作。 – PeterKA 2014-10-02 01:36:29