我无法写入/插入位于另一台计算机上的复制副本。这是执行的代码:
<?php
//Create a connection
$connection = new Mongo("mongodb://user:password@mycompany.com:27017/dbName", array("persist" => "pcName", "replicaSet"=>"myReplSet"));
//Select a database
$db = $connection->dbName;
//Select a collection
$collection = $db->testCollection;
//Add a record
$obj = array("FirstName" => "Brian", "LastName"=>"Renze", "Email"=>"abc@me.com");
$collection->insert($obj);
?>
我收到一个错误:致命错误:未捕获异常'MongoCursorException',消息'错误或格式错误的命令请求?'后跟下一个异常'MongoCursorException',消息'couldn不确定主人
没有任何内容写入数据库,但我不确定我使用的代码有什么问题。这是php.net上php-mongo教程的几乎完全复制。
我们的mongoDB实例仅在直接连接到数据库时才可用(在本例中为dbName),那么我应该取出“选择数据库”步骤吗?
如何找到replicaSet的主实例?这不应该自动发生吗?
有什么建议吗?
谢谢, Brian Renzenbrink
答案 0 :(得分:0)
我认为您正在尝试使用副本集,而无需进行一次设置。
如果删除replicaSet
参数:
$connection = new Mongo("mongodb://user:password@mycompany.com:27017/dbName", array("persist" => "pcName"));
这应该有效。
如果它没有工作,你可以包括mongo,php,mongo-php和你的操作系统版本吗?
您可以在此处详细了解复制:http://www.mongodb.org/display/DOCS/Replication
您可以在此处详细了解:http://www.php.net/manual/en/mongo.connecting.php