如何调用MongoLabs(mongoDB)RESTFULL APIS在php中添加文档?

时间:2016-03-23 13:23:20

标签: php jquery mongodb mlab

在插入文档的MongoLabs文档中,示例中给出了以下jQuery代码: http://docs.mlab.com/data-api/

    $.ajax( { url: "https://api.mlab.com/api/1/databases/my-db/collections/my-coll?apiKey=myAPIKey",
      data: JSON.stringify( { "x" : 1 } ),
      type: "POST",
      contentType: "application/json" } );

我必须通过PHP为我的Android应用程序调用RESTFULL API端点..

如何在php中发出POST请求以调用MongoLABs数据APIS?

如何将上面的jquery代码转换为php代码?

我尝试过以下代码,但没有运气。有人可以告诉以下代码中的错误或告诉如何使用PHP吗?

   <?php
   $x=array(
    'x' => 2
);
   $data=json_encode($x);
   echo $data;
   $postdata = $data;


    $opts = array('http' =>
        array(
            'method'  => 'POST',
            'header'  => 'Content-type: application/x-www-form-urlencoded',
            'content' => $postdata
        )
    );

    $context  = stream_context_create($opts);

    $result = file_get_contents('http://api.mlab.com/api/1/databases/mydb/collections/mycoll?apiKey=xxxxxxxxxxxxxxxxxxxxx', false, $context);

    echo $result;
    ?>

1 个答案:

答案 0 :(得分:0)

弄错了: 如果有人有相同的问题或想要使用mLabs数据api ..请使用以下内容:

    $x=array(
        'x' => '2'
    );
    $data=json_encode($x);
    //echo $data;

    $opts = array('http' =>
        array(
            'method'  => 'POST',
            'header'  => 'Content-type: application/json',
            'content' => $data
        )
    );

    $context  = stream_context_create($opts);

    $result = file_get_contents('https://api.mlab.com/api/1/databases/mydb/collections/mycoll?apiKey=xxxxxxxxxxx', false, $context);

    echo $result;

但是尽量避免使用DATA apis,因为密钥容易受到攻击,拥有密钥的任何人都可以访问整个数据库..