代码之家  ›  专栏  ›  技术社区  ›  Oscar Godson

如何从MongoDB集合创建JSON提要

  •  3
  • Oscar Godson  · 技术社区  · 14 年前

    我正在为我的客户创建一个CMS来处理他的照片,并在他的网站上出售。对于CMS端和前端(两者都是AJAX),最好设置JSON提要,这样我就可以使用相同的提要生成新的JS“页面”和“视图”。

    所以这个示例feed应该是{[name:'A Photo',description:'lorem ipsum…'],[…]},然后使用jQuery或JS,我可以创建一个包含他所有照片、页面等的表。我如何为自己设置?

    我是否应该创建一个PHP文件,从MongoDB获取所有数据,然后将其放入一个数组中,而不是将数组转换为JSON?

    3 回复  |  直到 12 年前
        1
  •  9
  •   Stefan    12 年前
        $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的。

        2
  •  1
  •   Community Egal    7 年前

    我是这样做的:

    $cursor = $collection->find($params);
    if($cursor->hasNext())
    {
        return json_encode(iterator_to_array($cursor));
    }
    

    如果您需要\u id,请检查此答案以了解为什么您没有获得它们: MongoDB PHP: How do I get ObjectId with a JSON feed? (it's blank)

        3
  •  0
  •   Eric    10 年前

    我就是这么做的:

    $data = json_decode(json_encode(iterator_to_array($cursor, true)));
    

    foreach($data as $doc){
        echo 'title:'.$doc->title.'<br>';   
    }