我尝试连接到不同服务器上的2个不同数据库,但似乎驱动程序混合了连接。
<?php
$mongo1 = new MongoClient("mongodb://old-server1.com:27017,old-server2.com:27017", array('replicaSet' => 'repset1'));
$mongo1->selectDB('oldDB');
$data1 = $mongo1->myinfo->find();
$mongo2 = new MongoClient("mongodb://new-server1.com:27017,new-server2.com:27017", array('replicaSet' => 'repset2'));
$mongo2->selectDB('newDB');
$data2 = $mongo2->myinfo->find();
当我多次运行此脚本而不更改任何内容时。有时$ data1将来自$ mongo1,有时来自$ mongo2。因此,在某些情况下,当同一服务器用于两个连接($ mongo1和$ mongo2)时,$ data1将匹配$ data2,而有时两个服务器连接将按预期单独使用并生成不同的数据集。
有没有人知道为什么会这样。当以奇数间隔运行时,相同的脚本将返回不同的结果。几乎就像缓存过期一样,我会得到预期的结果,然后直接再次不同。