使用GridFS传文件到MongoDB,会返回一个MongoId对象,通常我们需要把这个对象中的$id值以字符串形式保存到数据库中,作为取文件的标识,那么PHP如何取出MongoID对象的ID字符串值呢?
在php中通过_id 在mongodb中查找特定记录:
查询条件需要这样写:array("_id"=>new MongoId("$id"))
这个MongoId形如:
object(MongoId)#23 (1) {
["$id"] => string(24) "558a7dab988d4d10140058b1"
}
我们要用PHP取出[“$id”]的值,问题是这个键名是这种形式的,用$re->$id肯定不对,所以这样取值:
//存储上传的excel到MongoDB
public function saveToMongo($file){
$id = $this->getGridFS()->storeFile($file);
return $id->{'$id'};
}
这样就OK了。
时间: 2024-07-28 17:45:48