我正在为我的客户创建一个CMS来处理他的照片并在他的网站上出售。对于CMS端和前端(两者都是AJAX),获得JSON feed设置是很好的,这样我就可以使用相同的feed用JS生成新的“页面”和“视图”
所以这个示例Feed会有{{name:'A Photo',description:'lorem ipsum ...'],[...]}然后使用jQuery或JS我可以创建一个包含所有他的表格照片,页面等。我该如何为自己设置?
我是否应该创建一个PHP文件,从MongoDB获取所有数据,将其放入数组中,而不是将数组转换为JSON?
答案 0 :(得分:9)
$cursor = $this->collection->find($params);
$return = array();
$i=0;
while( $cursor->hasNext() )
{
$return[$i] = $cursor->getNext();
// key() function returns the records '_id'
$return[$i++]['_id'] = $cursor->key();
}
return json_encode($return);
这就是我从Mongo返回JSON的方式。
答案 1 :(得分:1)
我是这样做的:
$cursor = $collection->find($params);
if($cursor->hasNext())
{
return json_encode(iterator_to_array($cursor));
}
如果你需要_ids,请检查这个答案,看看为什么你没有得到它们: MongoDB PHP: How do I get ObjectId with a JSON feed? (it's blank)
答案 2 :(得分:0)
这就是我的所作所为:
$data = json_decode(json_encode(iterator_to_array($cursor, true)));
这样我确保我有一个你可以正确调用的对象数组:
foreach($data as $doc){
echo 'title:'.$doc->title.'<br>';
}