Heim > Datenbank > MySQL-Tutorial > Hauptteil

Einführung in die Verwendung von Mongodb und PHP (Codebeispiel)

不言
Freigeben: 2019-08-19 18:09:46
nach vorne
2427 Leute haben es durchsucht

Dieser Artikel bietet Ihnen eine Einführung in die Verwendung von Mongodb und PHP (Codebeispiele). Ich hoffe, dass er für Freunde hilfreich ist.

Mognodb-Datenbankverbindung.

Standardformat

$m = new Mongo();
//这里采用默认连接本机的27017端口,当然也可以连接远程主机如  192.168.0.4:27017,如果端口是27017,端口可以省略。
Nach dem Login kopieren

Standardverbindung

$m = new Mongo("mongodb://${username}:${password}@localhost");
Nach dem Login kopieren

Instanz:

$m = new Mongo("mongodb://127.0.0.1:27017/admin:admin");
Nach dem Login kopieren

Der Benutzername und das Passwort des Datenbanken sind beide Administratoren

Datenbankbetrieb

Daten einfügen

<?php
//这里采用默认连接本机的27017端口,当然你也可以连接远程主机如192.168.0.4:27017
//如果端口是27017,端口可以省略
$m = new Mongo("mongodb://127.0.0.1:27017/admin:admin");
//选择comedy数据库,如果以前没该数据库会自动创建,也可以用$m->selectDB("comedy");
$db = $m->comedy;
//选择comedy里面的collection集合,相当于RDBMS里面的表,也可以使用
$collection = $db->collection;
$db->selectCollection("collection");
/*********添加一个元素**************/
$obj = array("title" => "php1", "author" => "Bill Watterson");
//将$obj 添加到$collection 集合中
$collection->insert($obj);
/*********添加另一个元素**************/
$obj = array("title" => "huaibei", "online" => true);
$collection->insert($obj);
//$query = array("title" => "huaibei");
$query = array( "_id" => $obj['_id'] );
$cursor = $collection->find($query);
//遍历所有集合中的文档
foreach ($cursor as $obj) {
   echo $obj["title"] . "\n";
   echo $obj["_id"] . "\n";
}
//断开MongoDB连接
$m->close();
Nach dem Login kopieren

Bedingte Abfrage

mysql: id = 123
mongo: array(‘id’=>123)
mysql: name link ’%bar%’
mongo: array(‘name’ => new MongoRegex(‘/.*bar.*/i’))
mysql: where id > 10
mongo: array(‘id’ => array(‘$gt’ => 10))
mysql: where id >= 10
mongo: array(‘id’ => array(‘$gte’ => 10))
mysql: where id < 10
mongo: array(‘id’ => array(‘$lt’ => 10))
mysql: where id <= 10
mongo: array(‘id’ => array(‘$lte’ => 10))
mysql: where id > 1 and id < 10
mongo: array(‘id’ => array(‘$gt’ => 1,’$lt’ => 10))
mysql: where id <> 10
mongo: array(‘id’ => array(‘$ne’ => 10))
mysql: where id in(123)
mongo: array(‘id’ => array(‘$in’ => array(1,2,3)))
mysql: where id not in(123)
mongo: array(‘id’ => array(‘$nin’ => array(1,2,3)))
mysql: where id = 2 or id = 9
mongo: array(‘id’ => array(‘$or’ => array(array(‘id’=>2),array(‘id’=>9))))
mysql: order by name asc
mongo: array(‘sort’=>array(‘name’=>1))
mysql: order by name desc
mongo: array(‘sort’=>array(‘name’=>-1))
mysql: limit 0,2
mongo: array(‘limit’=>array(‘offset’=>0,’rows’=>2))
mysql: select name,email
mongo: array(‘name’,'email’)
mysql: select count(name)
mongo: array(‘COUNT’) //注意:COUNT为大写
Nach dem Login kopieren

Bei der Abfrage generiert jedes Objekt automatisch ein eindeutiges_, wenn es eingefügt wird . id, das dem Primärschlüssel in RDBMS entspricht, ist sehr praktisch für Abfragen (_id ist für jeden unterschiedlich, ähnlich wie eine automatisch erhöhte ID)

<?php
$param = array("name" => "joe");
$collection->insert($param);
$joe = $collection->findOne(array("_id" => $param['_id']));
print_R($joe);
$m->close();
Nach dem Login kopieren

Rückgabeergebnis: Array ( [_id] => ; MongoId Object ( [$id] => 4fd30e21870da83416000002 ) [name] => joe )

Feldwert ändern

<?php
$sign = array("title" => 'php1');
$param = array("title" => 'php1','author'=>'test');
$joe = $collection->update($sign, $param);
Nach dem Login kopieren

Eine Datenbank löschen

$m -> dropDB(“comedy”);
Nach dem Login kopieren

Alle verfügbaren auflisten Datenbanken

$m->listDBs();   //无返回值
Nach dem Login kopieren

Erstellen Sie ein MongoDB-Objekt

<?php
$mo = new Mongo();
$db = new MongoDB($mo,’dbname’);//通过创建方式获得一个MongoDB对象
Nach dem Login kopieren

Löschen Sie die aktuelle Datenbank

<?php
$db = $mo->dbname;
$db->drop();
Nach dem Login kopieren

Rufen Sie den aktuellen Datenbanknamen ab

<?php
$db = $mo->dbname;
$db->_tostring();
Nach dem Login kopieren

Wählen Sie die gewünschte Sammlung aus:

//A:
$mo = new Mongo();
$coll = $mo->dbname->collname;//获得一个collection对象
//B:
$db = $mo->selectDB(’dbname’);
$coll = $db->collname;
//C:
$db = $mo->dbname;
$coll = $db->collname;
//D:
$db = $mo->dbname;
$coll = $db->selectCollectoin(’collname’);//获得一个collection对象
Nach dem Login kopieren

Daten einfügen (MongoCollection-Objekt

$coll = $mo->db->foo;
$a = array(’a’=>’b’);
$options = array(’safe’=>true);
$rs  =$coll->insert($a,$options);
Nach dem Login kopieren

Datensätze in der Datenbank löschen (MongoCollection-Objekt)

$coll = $mo->db->coll;
$c = array(’a’=>1,’s’=>array(’$lt’=>100));
$options = array(’safe’=>true);
$rs = $coll->remove($c,$options);
Nach dem Login kopieren

Datensätze in der Datenbank aktualisieren (MongoCollection-Objekt)

$coll = $mo->db->coll;
$c = array(’a’=>1,’s’=>array(’$lt’=>100));
$newobj = array(’e’=>’f’,’x’=>’y’);
$options = array(’safe’=>true,’multiple’=>true);
$rs = $coll->remove($c,$newobj,$options);
Nach dem Login kopieren

Fragen Sie die ab Sammlung, um einen einzelnen Datensatz zu erhalten (MongoCollection-Klasse)

$coll = $mo->db->coll;
$query = array(’s’=>array(’$lt’=>100));
$fields = array(’a’=>true,’b’=>true);
$rs = $coll->findOne($query,$fields);
Nach dem Login kopieren

Fragen Sie die Sammlung ab, um mehrere Datensätze zu erhalten (MongoCollection-Klasse)

$coll = $mo->db->coll;
$query = array(’s’=>array(’$lt’=>100));
$fields = array(’a’=>true,’b’=>true);
$cursor = $coll->find($query,$fields);
//排序
$cursor->sort(array(‘字段’=>-1));(-1倒序,1正序)
//跳过部分记录
$cursor->skip(100);跳过100行
//只显示部分记录
$cursor->limit(100);只显示100行
返回一个游标记录对象MongoCursor。
Nach dem Login kopieren

Operationen am Cursorobjekt MongoCursor (MongoCursor-Klasse)

$cursor = $coll->find($query,$fields);
while($cursor->hasNext()){
$r = $cursor->getNext();
var_dump($r);
}
//或者
$cursor = $coll->find($query,$fields);
foreache($cursor as $k=>$v){
var_dump($v);
}
//或者
$cursor = $coll->find($query,$fields);
$array= iterator_to_array($cursor);
Nach dem Login kopieren

Dieser Artikel endet hier. Weitere spannende Inhalte finden Sie in der Spalte Mongodb-Video-Tutorial auf der chinesischen PHP-Website!

Das obige ist der detaillierte Inhalt vonEinführung in die Verwendung von Mongodb und PHP (Codebeispiel). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:segmentfault.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage