包含phpfindone的詞條

本文目錄一覽:

php查詢mdb最新

一.安裝部署mongo

1.創建文件夾 

/opt/mongodb/single 

/opt/mongodb/data/db

2.進入single目錄下載安裝包

//下載 tar.gz文件

wget

3.解壓 並修改文件名 

mv mongodb-linux-x86_64-2.4.6 mongo

4.進入mongo目錄

5.創建配置文件 

– mkdir conf 

– cd conf 

– vim conf.properties

#端口

port=27017

#db存放的目錄

dbpath=/opt/mongotest/data/db

#後台啟動需要配置日誌輸出

logpath=/opt/mongotest/single/mongo/log/mongo.log

#日誌模式

logappend=true

#設置成後台啟動

fork=true

6.啟動mongo 

mongo目錄執行

root@chwx2:/opt/mongotest/single/mongo# ./bin/mongod -f conf/conf.properties

about to fork child process, waiting until server is ready for connections.

forked process: 4988

all output going to: /opt/mongotest/single/mongo/log/mongo.log

child process started successfully, parent exiting

表示後台啟動mongo成功

二.使用mongo進行日常操作

1.連接mongodb 

mongo/bin目錄下執行 

./mongo

2.查看數據庫 

show dbs

3.查看當前所在數據庫 

db

4.創建數據庫 

use openfire (臨時創建 如果不做操作 則離開後被系統刪除)

5.在當前數據庫刪除當前數據庫 

db.dropDatabase()

6.查看當前庫的所有用戶 

show users

7.查看集合(或者叫表) 

show collections

8.創建集合 

db.createCollection(「mycollection」)

9.創建集合併制定集合的屬性 

db.createCollection(「mycol」, { capped : true, autoIndexID : true, size : 6142800, max : 10000 } )

字段

類型

描述

capped    Boolean    (可選)如果為true,則啟用封頂集合。封頂集合是固定大小的集合,會自動覆蓋最早的條目,當它達到其最大大小。如果指定true,則需要也指定尺寸參數。  

autoIndexID    Boolean    (可選)如果為true,自動創建索引_id字段的默認值是false。  

size    number    (可選)指定最大大小位元組封頂集合。如果封頂如果是 true,那麼你還需要指定這個字段。  

max    number    (可選)指定封頂集合允許在文件的最大數量。  

10.另一種創建集合 

(當插入一條數據時,不存在mongodb會幫我們創建,和創建數據庫同理) 

db.MySecondCollection.insert({「name」 : 「ming」})

11.刪除當前庫的一個集合 

db.CollectionName.drop()

12.插入一條數據 

db.MyFirstCollection.insert({「_id」:」3」,」title」:」mongotest」,」description」:」this is test」}) 

注意:插入的都是JSON形式的,所以一定要用{},否則會報錯: 

Sat Mar 19 14:22:39.160 SyntaxError: Unexpected token :

13.插入一條_id存在的數據 

db.MyFirstCollection.insert({「_id」:」3」,」title」:」mm」}) 

輸出:E11000 duplicate key error index: openfire.MyFirstCollection.$_id_ dup key: { : 「3」 } 

解釋:_id即是mongodb的默認主鍵,默認自動生成,我們可以直接設置以達到我們想要的目的

問:插入一條和原來集合完全不一樣的數據可以嗎?

答:可以,所以我們要在程序中規避,手動指定我們一個集合裏面的字段,否則就無法實現查詢及其他功能了

db.MyFirstCollection.insert({“newTitle”:”null”})

db.MyFirstCollection.find();

{ “_id” : “3”, “title” : “new title”, “description” : “this is test” }

{ “_id” : ObjectId(“56ecf4fe0dceecace97c4506”), “newTitle” : “null” }

14.查看集合第一條記錄 

db.MySecondCollection.findOne(); 

輸出:{ 「_id」 : ObjectId(「56ecde0662552d15c443dd4a」), 「name」 : 「ming」 }

15.查找一條/多條特定數據 

db.MySecondCollection.findOne({「name」:」ming」}) 

輸出:{ 「_id」 : ObjectId(「56ecde0662552d15c443dd4a」), 「name」 : 「ming」 }

16.更新一條記錄 

db.MyFirstCollection.update({「title」:」mongotest」},{$set:{「title」:」new title」}},true,false) 

結果: 

db.MyFirstCollection.findOne() 

{ 「_id」 : 「3」, 「title」 : 「new title」, 「description」 : 「this is test」 }

update詳解

db.collection.update(criteria,objNew,upsert,multi)

criteria:查詢條件

objNew:update對象和一些更新操作符

upsert:如果不存在update的記錄,是否插入objNew這個新的文檔,true為插入,默認為false,不插入。

multi:默認是false,只更新找到的第一條記錄。如果為true,把按條件查詢出來的記錄全部更新。

更新操作符:

1.$inc

用法:{$inc:{field:value}}

作用:對一個數字字段的某個field增加value

示例:db.students.update({name:”student”},{$inc:{age:5}})  

2.$set

用法:{$set:{field:value}}

作用:把文檔中某個字段field的值設為value

示例:db.students.update({name:”student”},{$set:{age:23}})

3.$unset

用法:{$unset:{field:1}}

作用:刪除某個字段field

示例: db.students.update({name:”student”},{$unset:{age:1}})

4.$push

用法:{$push:{field:value}}

作用:把value追加到field里。註:field只能是數組類型,如果field不存在,會自動插入一個數組類型

示例:db.students.update({name:”student”},{$push:{“title”:”major”}}

5.$rename

用法:{$rename:{old_field_name:new_field_name}}

作用:對字段進行重命名(不是值,是字段)

示例:db.students.update({name:”student”},{$rename:{“name”:”newname”}})

設置用戶權限及訪問

1.給admin添加用戶

切換到admin庫:use admin 

添加admin用戶:db.addUser(「root」,」admin」)

注意:必須先給admin庫添加用戶,否則就算給具體的庫添加了用戶,後續進入依然能操作具體庫. 

因為默認admin庫用戶具有最高權限,相當於具體庫需要認證時,進入的用戶持有的是admin的權限,所以無需認證依然能進行操作.

2.給具體庫添加用戶

use openfire

db.addUser(“openfire”,”password”)

3.重啟mongo並在啟動時配置需要認證

方法一:退出重啟並加上auth參數 

./bin/mongod -f conf/conf.properties –auth(注意是兩個-)

方法二:修改配置文件,加上參數(推薦) 

auth=true

3.測試權限

use openfire

db.MySecondCollection.findOne();

Sat Mar 19 14:04:55.653 error: {

“$err” : “not authorized for query on openfire.MySecondCollection”,

“code” : 16550

} at src/mongo/shell/query.js:128

4.認證並操作

//此處應該設置成更加恰當的用戶名及密碼

db.auth(“openfire”,”password”)

1

db.MySecondCollection.findOne()

{ “_id” : ObjectId(“56ecde0662552d15c443dd4a”), “name” : “ming” }

5.另一種方法認證

在進入mongo時候加上數據庫及用戶名、密碼 

./bin/mongo openfire -uopenfire -ppassword

root@test:/opt/mongotest/single/mongo# ./bin/mongo openfire -uopenfire -ppassword

MongoDB shell version: 2.4.6

connecting to: openfire

db

openfire

db.MySecondCollection.findOne()

{ “_id” : ObjectId(“56ecde0662552d15c443dd4a”), “name” : “ming” }

mongdb進階

1.find()指定返回字段 

作用:減少流量

如果key:value,返回的value是個非常大的JSON,而我們不需要這麼多字段,也許我們只需要其中的一個.

那麼使用projection來過濾: 

db.collection.find(query, projection) 此處projection就是返回值的過濾條件

參數

類型

描述

query    文檔    可選. 使用查詢操作符指定查詢條件  

projection    文檔    可選.使用投影操作符指定返回的鍵。查詢時返迴文檔中所有鍵值, 只需省略該參數即可(默認省略).  

返回值: 匹配查詢條件的文檔集合的游標. 如果指定投影參數,查詢出的文檔返回指定的鍵 ,」_id」鍵也可以從集合中移除掉。 

_id不指定的話,總是會返回. 

1或者true代表返回,0或者false代表不返回

示例: 

db.MyFirstCollection.findOne({「title」:」new title」},{「description」:1,」_id」:0}); 

{ 「description」 : 「this is test」 }

也可以使用表達式: 

db.MyFirstCollection.findOne({「title」:」new title」},{Items:{「$slice」:[3,1]}});

引用: 

mongodb 3.2怎麼在php中連接

表標PHP已經自帶了mongo功能,你就可以操作下面的代碼(但是你必須有安裝mongodb服務器)

一、連接數據庫

使用下面的代碼創建一個數據庫鏈接

複製代碼 代碼如下:

?php

$connection = new Mongo(mongodb://192.168.1.5:27017); //鏈接到 192.168.1.5:27017//27017端口是默認的。

$connection = new Mongo( “example.com” ); //鏈接到遠程主機(默認端口)

$connection = new Mongo( “example.com:65432” ); //鏈接到遠程主機的自定義的端口

print_r($connection-listDBs());//能打印出數據庫數組,看看有幾個數據庫。

?

如圖:

上圖說有一個數據庫名字叫local,總大小1個位元組,他是空的。看見ok表示運行成功。

現在你可以使用$connection鏈接來操作數據庫了

選擇數據庫

使用下面的代碼來選擇一個數據庫

複製代碼 代碼如下:

?php

$db = $connection-dbname;

?

這裡的數據庫並不一定是一個已經存在的數據庫,如果所選擇的數據庫不存在,則會新建一個數據庫,所以在選擇數據庫的時候,注意一定要填上正確的數據庫名

如果拼寫錯誤的話,很有可能會新建一個數據庫

複製代碼 代碼如下:

?php

$db = $connection-mybiglongdbname;

//做一些事情

$db = $connection-mybiglongdbnme;

//現在會連上一個新的數據庫

?

獲取一個集合

獲取一個集合跟選擇數據庫擁有相同的語法格式

複製代碼 代碼如下:

?php

$db = $connection-baz;//選擇數據庫

$collection = $db-foobar;//選擇foobar集合

//或者使用更簡潔的方式

$collection = $connection-baz-foobar;

?

插入一個文檔

多維數組是可以被儲存到數據庫中的基本單元

一個隨機的文檔可能是這樣

複製代碼 代碼如下:

?php

$doc = array(

」name」 = 「MongoDB」,

「type」 = 「database」,

「count」 = 1,

「info」 = (object)array( 「x」 = 203,

「y」 = 102),

「versions」 = array(「0.9.7″, 「0.9.8″, 「0.9.9″)

);

?

注意:你可以嵌套數組與對象,對象與文檔在mongodb中幾乎是一樣的,你可以使用$doc調用一個文檔或對象,但是info字段總是一個對象而不是一個文檔,

本約束適用於所有文檔

使用MongoCollection::insert()插入一個文檔

複製代碼 代碼如下:

?php

$m = new Mongo();

$collection = $m-foo-bar;

$collection-insert($doc);

?

mongodb 的 insert()、save() ,區別主要是:若存在主鍵,insert() 不做操作,而save() 則更改原來的內容為新內容。

存在數據: { _id : 1, ” name ” : ” n1 ” }

insert({ _id : 1, ” name ” : ” n2 ” }) 會提示錯誤

save({ _id : 1, ” name ” : ” n2 ” }) 會把 n1 改為 n2 。

使用MongoCollection::findOne()查詢文檔

為了證明上面那段代碼的數據已經插入到數據庫里了,我們進行簡單的 findOne()操作以得到集合中的第一個文檔數據,這種方法只返回一個文檔數據,

這種方法適用於在你的查詢語句的時候只匹配一個文檔或者你只關心第一條數據

複製代碼 代碼如下:

?php

$obj = $collection-findOne();

var_dump( $obj );

?

你會看到下列結果

複製代碼 代碼如下:

array(5) {

[“_id”]=

object(MongoId)#6 (0) {

}

[“name”]

string(7) 「MongoDB」

[“type”]=

string(8) 「database」

[“count”]=

int(1)

[“info”]=

array (2) {

[“x”]=

int(203)

[“y”]=

int(102)

}

[“versions”]

array(3) {

[0]=

string(5) 「0.9.7″

[1]=

string(5) 「0.9.8″

[2]=

string(5) 「0.9.9″

}

}

注意_id字段自動加載了文檔上,MongoDB儲存元素中以_以及$開頭的都是供內部使用的

添加更多文檔

為了做一些更有趣的事情,我們添加更多簡單的文檔到集合中,這些文檔如下

複製代碼 代碼如下:

?php

array( 「i」 = value );

?

我們可以使用循環相當有效的插入數據

複製代碼 代碼如下:

?php

for($i=0; $i100; $i++) {

$collection-insert( array( 「i」 = $i ) );

}

?

注意:我們可以插入不同的字段在同一字符集中,在這方面意味着MongoDB擁有非常自由的儲存模式

在一個集合中計算文檔的數量

現在我們插入了101個文檔(我們用循環插入了100個,之前還插入了一個),我們可以使用count()來看看我們的數據是不是都被插入進去了

複製代碼 代碼如下:

?php

echo $collection-count();

?

這段代碼將打印出101

MongoCollection::count() 也可以查詢字段數據

使用游標得到集合中的所有文檔

為了得到集合中的所有文檔,我們可以使用 MongoCollection::find()方法,find()方法返回一個 MongoCursor對象,可以讓我們重複得到查詢所匹配的的文檔

複製代碼 代碼如下:

?php

$cursor = $collection-find();

foreach ($cursor as $id = $value) {

echo 「$id: 「;

var_dump( $value );

}

?

這樣我們會打印出集合中的這101個文檔,$id就是文檔中的_id字段,$value 就是文檔本身

為查詢規定一個標準

我們可以通過find()方法得到集合中的文檔子集,例如,我們要查詢出集合中i字段為71的文檔,我們可以使用下列方法

複製代碼 代碼如下:

?php

$query = array( 「i」 = 71 );

$cursor = $collection-find( $query );

while( $cursor-hasNext() ) {

var_dump( $cursor-getNext() );

}

?

我們將打印如下數據

複製代碼 代碼如下:

array(2) {

[“_id”]=

object(MongoId)#6 (0) {

}

[“i”]=

int(71)

[“_ns”]=

「testCollection」

}

為查詢設定一個範圍

我們可以通過find()創建一個查詢語句以得集合中的一個子集,例如如果我們得到所有」i」50的文檔,我們可以使用如下代碼

複製代碼 代碼如下:

?php

$query = array( 「i」 = array(『$gt’ =50)); //注意’$gt’兩邊的單引號

$cursor = $coll-find( $query );

while( $cursor-hasNext() ) {

var_dump( $cursor-getNext() );

}

?

我們同樣可以得到20 i = 30之間的數據

複製代碼 代碼如下:

?php

$query = array( 「i」 = array( 「\$gt」 = 20, 「\$lte」 = 30 ) );

$cursor = $coll-find( $query );

while( $cursor-hasNext() ) {

var_dump( $cursor-getNext() );

}

?

我們非常容易漏掉$美元符號,你也可以選擇你自定義的符號來代替美元符號,選擇一個不會在你的建裏面出現的符號例如」:」,在php.ini中加上這麼一句話

複製代碼 代碼如下:

mongo.cmd = 「:」

那麼上面的代碼就可以替換成

複製代碼 代碼如下:

?php

$query = array( 「i」 = array( 「:gt」 = 20, 「:lte」 = 30 ) );

?

當然你也可以使用ini_set(「mongo.cmd」, 「:」)的方法來改變

創建一個索引

MongoDB支持索引,並且可以很容易的加到一個集合中,你只要指定某個字段為索引就行了,並且還可以指定 正序索引(1)與 倒序索引(-1)

下面的代碼為I創建了索引

複製代碼 代碼如下:

?php

$coll-ensureIndex( array( 「i」 = 1 ) ); //在」i」上創建了一個索引

$coll-ensureIndex( array( 「i」 = -1, 「j」 = 1 ) );//在」i」上創建了倒序索引 在」j」上創建了正序索引

?

一個完整的簡單例子

這個例子展示了如何鏈接mongodb數據庫,如何選擇數據庫,如何插入數據,如何查詢數據,以及關閉數據庫鏈接

複製代碼 代碼如下:

?php

//鏈接

$m = new Mongo();

// 選擇一個數據庫

$db = $m-comedy;

$collection = $db-cartoons;

//添加一個元素

$obj = array( “title” = “Calvin and Hobbes”, “author” = “Bill Watterson” );

$collection-insert($obj);

//修改

$newdata = array(‘$set’ = array(“title” = “Calvin and Hobbes”));

$collection-update(array(“author” = “caleng”), $newdata);

//刪除

$collection-remove(array(‘author’=’caleng’), array(“justOne” = true));

//添加另一個元素,使用不同的格式

$obj = array( “title” = “XKCD”, “online” = true );

$collection-insert($obj);

//查詢所有的集合

$cursor = $collection-find();

//重複顯示結果

foreach ($cursor as $obj) {

echo $obj[“title”] . “\n”;

}

// 關閉鏈接

$m-close();

?

輸出結果為

複製代碼 代碼如下:

Calvin and Hobbes

XKCD

mongo php 操作 怎樣更新一條數據

PHP操作MongoDB數據庫的簡單示例。

Mongodb的常用操作

參看手冊,php官方的

也可以參看mongodb官方的教程。

一, Mognodb數據庫連接

1)、默認格式

 

複製代碼 代碼示例:

$m = new Mongo();

//這裡採用默認連接本機的27017端口,當然也可以連接遠程主機如  192.168.0.4:27017,如果端口是27017,端口可以省略。

2)、標準連接

$m = new Mongo(「mongodb://${username}:${password}@localhost」);

實例:

複製代碼 代碼示例:

$m = new Mongo(「mongodb://127.0.0.1:27017/admin:admin」);

 

數據庫的用戶名和密碼都是admin

數據庫操作:

1)、插入數據:

 

複製代碼 代碼示例:

?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();

2)、帶條件的查詢

查詢 title為huaibei的字段

1 $query = array( 」title」 = 」huaibei」 );

2 $cursor = $collection-find( $query );      // 在$collectio集合中查找滿足$query的文檔

常用的SQL轉化為mongodb的條件

 

複製代碼 代碼示例:

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為大寫

 

更詳細的轉換參考

注意事項:

查詢時,每個Object插入時都會自動生成一個獨特的_id,它相當於RDBMS中的主鍵,用於查詢時非常方便 (_id每一都不同,很像自動增加的id)

例如:

 

複製代碼 代碼示例:

?php

$param = array(“name” = “joe”);

$collection-insert($param);

$joe = $collection-findOne(array(“_id” = $param[‘_id’]));

print_R($joe);

$m-close();

 

返回結果:Array ( [_id] = MongoId Object ( [$id] = 4fd30e21870da83416000002 ) [name] = joe )

更改字段值:

 

複製代碼 代碼示例:

?php

$sign = array(“title” = ‘php1’);

$param = array(“title” = ‘php1′,’author’=’test’);

$joe = $collection-update($sign, $param);

刪除一個數據庫:

 

複製代碼 代碼示例:

$m – dropDB(「comedy」);

列出所有可用數據庫:

 

複製代碼 代碼示例:

$m-listDBs();   //無返回值

附,mongodb常用的數據庫方法

MongoDB中有用的函數:

創建一個MongoDB對象

 

複製代碼 代碼示例:

?php

$mo = new Mongo();

$db = new MongoDB($mo,』dbname』);//通過創建方式獲得一個MongoDB對象

刪除當前DB

 

複製代碼 代碼示例:

?php

$db = $mo-dbname;

$db-drop();

獲得當前數據庫名

 

複製代碼 代碼示例:

?php

$db = $mo-dbname;

$db-_tostring();

選擇想要的collection:

 

複製代碼 代碼示例:

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對象

插入數據(MongoCollection對象):

MongoCollection::insert(array $a,array $options)

array $a 要插入的數組

array $options 選項

safe 是否返回操作結果信息

fsync 是否直接插入到物理硬盤

例子:

 

複製代碼 代碼示例:

$coll = $mo-db-foo;

$a = array(』a』=』b』);

$options = array(』safe』=true);

$rs  =$coll-insert($a,$options);

 

$rs為一個array型的數組,包含操作信息

刪除數據庫中的記錄(MongoCollection對象):

MongoCollection::remove(array $criteria,array $options)

array $criteria  條件

array $options 選項

safe 是否返回操作結果

fsync 是否是直接影響到物理硬盤

justOne 是否隻影響一條記錄

例子:

 

複製代碼 代碼示例:

$coll = $mo-db-coll;

$c = array(』a』=1,』s』=array(』$lt』=100));

$options = array(』safe』=true);

$rs = $coll-remove($c,$options);

 

$rs為一個array型的數組,包含操作信息

更新數據庫中的記錄(MongoCollection對象):

MongoCollection::update(array $criceria,array $newobj,array $options)

array $criteria  條件

array $newobj 要更新的內容

array $options 選項

safe 是否返回操作結果

fsync 是否是直接影響到物理硬盤

upsert 是否沒有匹配數據就添加一條新的

multiple 是否影響所有符合條件的記錄,默認隻影響一條

例子:

 

複製代碼 代碼示例:

$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);

 

$rs為一個array型的數組,包含操作信息

查詢collection獲得單條記錄(MongoCollection類):

array MongoCollection::findOne(array $query,array $fields)

array $query 條件

array $fields 要獲得的字段

例子:

 

複製代碼 代碼示例:

$coll = $mo-db-coll;

$query = array(』s』=array(』$lt』=100));

$fields = array(』a』=true,』b』=true);

$rs = $coll-findOne($query,$fields);

 

如果有結果就返回一個array,如果沒有結果就返回NULL

查詢collection獲得多條記錄(MongoCollection類):

MongoCursor MongoCollection::find(array $query,array $fields)

array $query 條件

array $fields 要獲得的字段

例子:

 

複製代碼 代碼示例:

$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。

針對游標對象MongoCursor的操作(MongoCursor類):

循環或結果記錄:

 

複製代碼 代碼示例:

$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);

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/236628.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 12:01
下一篇 2024-12-12 12:01

相關推薦

發表回復

登錄後才能評論