【问题标题】:mongodb php remote connexionmongodb php远程连接
【发布时间】:2015-11-07 22:03:09
【问题描述】:

我有一个可以与 Mongodb 一起使用的脚本有代码

  <?php
if(isset($_SESSION["steamid"])) {
include_once('steamauth/userInfo.php');
    $connection = new MongoClient();
    $collection = $connection->selectDB('admin')->selectCollection('site_users');
    $list = $collection->find();
    $steam_list = array();
    foreach($list as $key => $value){
        $steam_list[] = $value['steamid'];
    }

    if(!in_array($_SESSION['steamid'],$steam_list)){
        $collection->save(array('steamid' => $_SESSION['steamid'],'name' => $_SESSION['steam_personaname'],'ip' => $_SERVER['REMOTE_ADDR']));
    }

?>

这意味着当用户使用他的 Steam 帐户登录时连接到 Mongodb 这里的第一个问题代码尝试连接到本地 Mongodb 服务器如果是,我想将此连接转换为远程连接,以便我可以使用 MongolabDb 托管,等待你们帮助谢谢:)

【问题讨论】:

    标签: php mongodb steam


    【解决方案1】:

    MongoCollection::find 方法返回MongoCursor

    需要转换结果。 iterator_to_array

    <?php
    if(isset($_SESSION["steamid"])) {
        include_once('steamauth/userInfo.php');
        $connection = new MongoClient();
        $collection = $connection->selectDB('admin')->selectCollection('site_users');
        $cursor = $collection->find();
        $list=iterator_to_array($cursor)
        $steam_list = array();
        foreach($list as $key => $value){
            $steam_list[] = $value['steamid'];
        }
    
        if(!in_array($_SESSION['steamid'],$steam_list)){
            $collection->save(array('steamid' => $_SESSION['steamid'],'name' => $_SESSION['steam_personaname'],'ip' => $_SERVER['REMOTE_ADDR']));
        }
    
    ?>
    

    【讨论】:

    • 您好 Mutlu 为您解答,但远程连接在哪里,我想使用外部 MongoDb 服务器(Mongolab)
    • $connection=new MongoClient("mongodb://&lt;dbuser&gt;:&lt;dbpassword&gt;@ds057877.mongolab.com:&lt;port&gt;/&lt;dbname&gt;"); http://docs.mongolab.com/connecting/#connect-string
    猜你喜欢
    • 1970-01-01
    • 2016-05-21
    • 1970-01-01
    • 2018-11-12
    • 2017-05-16
    • 1970-01-01
    • 1970-01-01
    • 2017-07-31
    • 2018-03-12
    相关资源
    最近更新 更多