目的:在php程序端查詢文檔相關集合存儲情況
<?php /** * Created by PhpStorm. * User: Administrator * Date: 2018/11/29 * Time: 2:23 */
//require("mongoconn.php");
$i=0;
$conn = new MongoDB\Driver\Manager("mongodb://localhost:27017");
$query = ["_id"=>['$gte'=>0]];#注意用於表示大於等於的表達式之前一定要加"$"否則結果會出錯,而且必須用單引號包裹$,因為依照php雙引號的特性,
#"$gte"會去檢索一個變量名為gte的變量的值,而這里$gte僅僅是作為mongodb檢索的一個條件表達式
$cmd = new MongoDB\Driver\Command([
'distinct'=>'color',
'key'=>'color',
'query'=>$query
]);
$row = $conn->executeCommand("olddream",$cmd);
$ret = $row->toArray();
var_dump($ret);#可以觀察一下,這一步返回的結果是一個數組類型,其中第一個值是一個object類型,其屬性values存儲着查詢結果
#所以為拿到查詢結果,做如下操作
$retarray = $ret[0]->values;
$i = count($retarray);
foreach($retarray as $k=>$v){
echo $k."==========".$v."\n";
}
echo "下一個要插入的值是:".$i;
#var_dump($ret);輸出結果
array(1) {
[0]=>
object(stdClass)#6 (2) {
["values"]=>
array(13) {
[0]=>
string(3) "紅"
[1]=>
string(3) "橙"
[2]=>
string(3) "黃"
[3]=>
string(3) "綠"
[4]=>
string(3) "青"
[5]=>
string(3) "藍"
[6]=>
string(3) "紫"
[7]=>
string(3) "灰"
[8]=>
string(3) "粉"
[9]=>
string(3) "黑"
[10]=>
string(3) "白"
[11]=>
string(3) "棕"
[12]=>
string(6) "深藍"
}
["ok"]=>
float(1)
}
}
整個程序執行結果
0==========紅
1==========橙
2==========黃
3==========綠
4==========青
5==========藍
6==========紫
7==========灰
8==========粉
9==========黑
10==========白
11==========棕
12==========深藍
下一個要插入的文檔的_id值是:13
mongodb數據庫相關數據庫文檔集合存儲情況
