(PECL mongo >=1.3.0)
MongoClient::__construct — ����һ���µ����ݿ����Ӷ���
$server
= "mongodb://localhost:27017"
[, array $options
= array("connect" => TRUE
)
]] )���û�д���������������ӵ� "localhost:27017"������ php.ini ��ָ���� mongo.default_host �� mongo.default_port����
server
Ӧ������������ʽ��
mongodb://[username:password@]host1[:port1][,host2[:port2:],...]/db
�����ַ��������� mongodb:// ��ͷ����ʾ����һ�������ַ�����
���ָ���� username �� password�����������ڷ���ǰ������֤�������ݿ⡣ �û����������ǿ�ѡ�ģ���Ҫָ��ʱ�������һ�� @��
����ָ��һ���������˿ڿ�ѡ��Ĭ������ 27017�������ҿ������ӵ���Ҫ������������ �������ɶ��ŷָ�����������ɹ����أ�������ӵ�������һ�������� ��������ӵ��κ��������������׳�һ���쳣 MongoConnectionException��
�����ָ����һ���û��������룬�����ָ��һ��Ҫ��֤�����ݿ⡣ ���û��ָ�� db������ʹ�� "admin"��
��ѡ�IJ�ѯ�ַ�����������ָ�������ѡ�
ͬ������Ҳ֧�� options
���顣
ѡ���һ����ָʾ�������ڼ�Ⱥ�����¶Ա��ݽڵ���ζ�ȡ�� ���ڶ�ȡ��ѡ�����еĶ�����Ϣ���Բ��� ��ȡ��ѡ�� �ĵ�ҳ�档
server
����������
options
�����ӵ�����ѡ���ǰ��Ч��ѡ������ˣ�
"connect"
�������Ƿ�Ӧ���ڷ���ǰ���ӡ�
Ĭ��Ϊ TRUE
��������Ϊ FALSE
�����������в�ѯ��Ҫʱ
�Զ� ���ӵ���������
���⣬��Ҳ������
MongoClient::connect() �ֶ����С�
���ѡ�֧��ͨ�������ַ��������á�
"db"
Ҫ��֤�����ݿ���������ָ�����������������б��а������� �ܹ����������б���ָ�������ݿ⡣
"password"
��������ָ�����룬�������������б���ָ���� ����������һ�� "@" ��ʱ���������á� �˲����Ḳ�������б������õ����롣
"readPreference"
ָ����ȡ��ѡ�����͡� ��ȡ��ѡ���ṩ�˶Ա������ݶ�ȡ�Ŀ��ơ�
�����ֵ�У� MongoClient::RP_PRIMARY
��
MongoClient::RP_PRIMARY_PREFERRED
��
MongoClient::RP_SECONDARY
��
MongoClient::RP_SECONDARY_PREFERRED
��
MongoClient::RP_NEAREST
��
������Ϣ�μ���ȡ��ѡ���ĵ���
"readPreferenceTags"
���ַ���������ָ����ȡѡ���ǩ�� ��ǩ�ܹ����� readPreference ѡ������һ�����ƴӱ��ݽڵ����ݵĶ�ȡ��
������Ϣ�μ���ȡ��ѡ���ĵ���
"replicaSet"
Ҫ���ӵļ�Ⱥ���ơ� ���ָ���ˣ���Ծ�ڵ��ܹ��Զ����� ����ζ�������ܹ����������ܹ����ӵ�δ�г��ķ������� ����ϸ�ڲμ���Ⱥ�����ӡ�
"connectTimeoutMS"
�����ӳ�ʱ��ʱ�䡣
"timeout"
"connectTimeoutMS" �����ı�����
"socketTimeoutMS"
�������Ϸ��ͻ���ճ�ʱ��ʱ�䡣
Note: ���ǿͻ��˵ij�ʱʱ�䡣���һ�� insert �ﵽ�� socketTimeoutMS�� ������֪�������Ƿ�ȷʵ��д�롣
"username"
��������ָ���û������������������б���ָ���� ���û�������һ����:��ʱ�������á� ���Ḳ�������б��е����á�
"w"
ѡ�� w ָ���������� Write Concern��������������д��ʱ������ʱ�䡣 Ĭ��ֵ�� 1��
��ѡ�������ڵ�̨�����������Ǽ�Ⱥ�� һ������ֵ����������������֮ǰ�������ٸ��ڵ����Ӧ��д���ָ� ֵ 1 ���õ�̨����������Ծ�ڵ㣨�ڼ�Ⱥ�Ӧ��д������� ֵ 3 ����������ֱ��д�뵽��Ծ�ڵ�������������ݽڵ���������ڼ�Ⱥ���
һ���ַ�����ֵ���ڿ��ƿ��� write concerns �ı�ǩ���� "majority" ����������ȷ��д�������Ӧ���ڴ���������� 50%������Ľڵ㡣
"wTimeout"
��ѡ�����ں� "w" �������ʹ�á� �������˷������ȴ����ٺ��������� write concern�� �����ʱ�ˣ��������׳� MongoCursorException �쳣��
����һ���µ����ݿ����Ӷ���
��������������������ӣ������׳� MongoConnectionException �쳣�� ����ṩ����Ч���û��������뽫���׳�һ�� MongoConnnectionException�� �μ� MongoConnectionException ����ĵ���ȡ�쳣������ԭ��
�汾 | ˵�� |
---|---|
1.3.4 |
����� "connectTimeoutMS" �� "socketTimeoutMS" ѡ� |
1.3.0 |
����� "readPreference"�� "readPreferenceTags"��"w" �� "wTimeout" ѡ� |
1.2.0 |
����� "username" �� "password" ѡ� �Ƴ��� "persist" ѡ����е����Ӷ��dz־õġ����Ծ��ܹ�ʹ�ã����Dz������á�
"replicaSet" ѡ������֧��һ���ַ����������Dz���ֵ�� |
1.0.9 | ����� "replicaSet" ѡ� |
1.0.2 |
�Ĺ�����֧��ѡ�����顣�� 1.0.2 ֮ǰ���������������²�����
|
Example #1 MongoClient::__construct() ��Ⱥ����
���������ʾ��������ӱ�������һ����Ⱥ�� ���������������������ļ�Ⱥ�� sf1.example.com��sf2.example.com �� ny1.example.com�� ��Ծ�ڵ��������������һ����
<?php
// ���ݶ��ŷָ��ķ����������б�������
// ע�����Dz���Ҫ���뼯Ⱥ�����г�Ա�������ܹ���ȡ�������б�
$m1 = new MongoClient("mongodb://sf2.example.com,ny1.example.com", array("replicaSet" => "myReplSet"));
?>
�����ǰ��Ծ�ڵ�����ʧ�ܣ��������������ýڵ��������Ϊ�µĻ�Ծ�ڵ㣬���Զ����ø����ӡ� ���û��ָ�� replicaSet���Զ��ݴ���ת��������������
���������ӵļ�Ⱥ�����б������Ҫ��һ�����������ߵġ�
��������������λ�����������ļ�Ⱥ���������Ϊ������Ԥ�⡣
������ڼ�Ⱥ����Ϣ�μ�» �����ĵ���
Example #2 ���ӵ�һ�������֣�domain socket��
�� 1.0.9+ �汾�У������ʹ��һ�� UNIX �����������ӵ�һ�����ص� MongoDB ʵ���� ����ܻ��ʹ��������������һ�㡣
�ڰ汾 1.5.0��MongoDB ���������Զ��� /tmp/mongodb-<port>.sock �ϵ����֡� ������������ַ�����ָ��λ�ã�
<?php
// MongoDB �����������ڱ��� 20000 �˿���
$m = new MongoClient("mongodb:///tmp/mongodb-20000.sock");
?>
��Ҳ���Ժ�������Ҫ��������ϣ�
<?php
// �������ӵ����֣�ʧ��ʱʹ�� localhost ����
$m = new MongoClient("mongodb:///tmp/mongodb-27017.sock,localhost:27017");
?>
Example #3 MongoClient::__construct() ��֤������
�ڳ�����֤ʱ���û���������� admin ���ݿ⡣ �����ͨ���նˣ��� Mongo ����һ����
> use admin switched to db admin > db.addUser("testUser", "testPass"); { "_id" : ObjectId("4b21272fd9ab21611d19095c"), "user" : "testUser", "pwd" : "03b9b27e0abf1865e2f6fcbd9845dd59" } >
����һ���û���������������û���Ϊ "testUser" ��������Ϊ "testPass"������Դ���һ����֤������ӣ�
<?php
$m = new MongoClient("mongodb://testUser:testPass@localhost");
?>
Example #4 MongoClient::__construct() ��ȡѡ������
<?php
// ��ѡ "east" ������������ķ�����
$uri = 'mongodb://rs1.example.com,rs2.example.com/';
$uri .= '?readPreference=nearest';
$uri .= '&readPreferenceTags=dc:east';
$m = new MongoClient($uri, array('replicaSet' => 'rs'));
������Ϣ�μ����ֲ�����ȡѡ��һ�ڡ�