微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

MongoDB PHP:如何使用JSON提要获取ObjectId? (它是空白的)

我通过GridFS存储文件并保存id,如下所示:

$file_id = $gridfs->storeUpload('texture');
$item = array(
    'name'=>$_POST['name'],
    'description'=>$_POST['description'],
    'price'=>$_POST['price'],
    'categories'=>$category_array,
    'tags'=>$tag_array,
    'file'=>$file_id
 );
 $collection->insert($item);

并通过终端和find()“文件”返回:
的ObjectId( “4cbe9afe460890b774110000”)

如果我这样做是为了创建一个JSON提要,所以我可以获取信息,我的应用程序“文件”是空白的…为什么这样?:

foreach($cursor as $item){
            $return[$i] = array(
                'name'=>$item['name'],
                'description'=>$item['description'],
                'file'=>$item['file']
            );
            $i++;
        }
        echo json_encode($return);

对我来说,奇怪的是我为什么要这样做:

foreach($cursor as $item){
echo $item['file'];
}

并把它拿回来?

哦,这是Feed返回的内容

[{"name":"Tea Stained Paper 1","description":"Grungy paper texture stained with tea and coffee.","file":{}},{"name":"Worn Metal 1","description":"A grooved, worn old Metal texture","file":{}}]

解决方法:

不确定,但也许

echo json_encode($return, JSON_FORCE_OBJECT);

是你需要做的.

它也可能是,您需要将$item [‘file’]转换为utf8

utf8_encode($item['file']);

在将其分配给$return数组之前.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐