我是mLab的新手,并试图在mLab上向mongodb插入相同的简单文档。首先,我能够在运行代码时使用shell (命令行)将一些文档插入数据库:
Fatal error: Uncaught MongoDB\Driver\Exception\ConnectionTimeoutException:
No suitable servers found (`serverSelectionTryOnce` set): [connection timeout calling ismaster on 'ds157390.mlab.com:57390'] in C:\xampp\htdocs\MongoDB\vendor\mongodb\mongodb\src\Collection.php:726 
Stack trace: #0 C:\xampp\htdocs\MongoDB\vendor\mongodb\mongodb\src\Collection.php(726): MongoDB\Driver\Manager->selectServer(Object(MongoDB\Driver\ReadPreference)) 
#1 C:\xampp\htdocs\MongoDB\azureConnect.php(46): MongoDB\Collection->insertMany(Array) #2 {main} thrown in C:\xampp\htdocs\MongoDB\vendor\mongodb\mongodb\src\Collection.php on line 726PHP-代码:
<?php
ini_set('max_execution_time', 0);
require 'vendor/autoload.php';
$seedData = array(
  array(
    'decade' => '1970s',
    'artist' => 'Debby Boone',
    'song' => 'You Light Up My Life',
    'weeksAtOne' => 10
),
array(
    'decade' => '1980s',
    'artist' => 'Olivia Newton-John',
    'song' => 'Physical',
    'weeksAtOne' => 10
),
array(
    'decade' => '1990s',
    'artist' => 'Mariah Carey',
    'song' => 'One Sweet Day',
    'weeksAtOne' => 16
),
 );
 $uname = "test";
 $pword = "test";
 $uri = "mongodb://".$uname.":".$pword."@ds157390.mlab.com:57390/data4estate";
 $conn = new MongoDB\Client($uri);
 $songs = $conn->data4estate->songs;
 $songs->insertMany($seedData);发布于 2017-04-10 08:52:18
试着遵循连接超时指示:
https://blog.mlab.com/2013/10/do-you-want-a-timeout/
尝试将超时选项设置为连接字符串https://docs.mongodb.com/manual/reference/connection-string/#uri.connectTimeoutMS
$uri = "mongodb://".$uname.":".$pword."@ds157390.mlab.com:57390/data4estate?connectTimeoutMS=300000";您可以在php MongoClient上设置MongoClient,如下所示:PHP MongoDb driver: How to set timeout for executing a code
https://stackoverflow.com/questions/43314262
复制相似问题