本文目錄一覽:
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-tw/n/236628.html