mongodb在PHP下的應用學習筆記

來源:互聯網
上載者:User

1、串連

mongodb預設連接埠是:27017,因此我們串連mongodb:$mongodb = new Mongo('localhost') 或者指定IP與連接埠 $mongodb = new Mongo('192.168.127.1:27017') 連接埠可改變

若mongodb開啟認證,即--auth,則串連為: $mongodb = new Mongo('root:w888168@localhost:27017');

2、選擇資料庫

$db = $mongodb->selectDBs('dbname'); 或者直接指定資料庫名(因為mongodb可以直接建立不存在的資料庫) : $db = $mongodb->dbname;

3、選擇集合(collection)

$tables = $db->selectColletion('tablename')或者 $tables = $db->tablename;

接下來就可以操作集合了

4、插入新文檔(document)

collection插入資料,如一個人的資訊

$one = array(

'name' => 'lily';

'age'  => 0,

'hobby' => array(

'dance',

'swim',

'music'

),

);

$res = $tables -> insert($one,true);

第二個參數用於等待MongoDB完成操作,以便確定是否成功,預設值為false,當有大量記錄插入時使用該參數會比較有用。插入新文檔後,MongoDB會
返回一個記錄標識。

結果為:1,則說明已經插入了 

5、刪除文檔

刪除文檔比較簡單: $res = $tables->remove(array('name'=>'lily'));

注意:這裡是將滿足條件的都刪除,如果只有刪除第一個滿足條件的文檔,則添加第二個參數為true即可

6、尋找文檔

定義一個過濾器:$filter = array('name'=>'lily');

$res = $tables -> find($filter);

尋找一個 : $res = $tables -> findOne($filter);

此外,還可以在過濾器裡添加比較

例,擷取sessions大於10的資訊:$filter = array('sessions' => array('$gt' => 10)); (gt -- > lt--< gte -- >= lte <=)$cursor = $collection->find($filter);

返回的介面為遊標

有一個重要的細節需要注意,只有當需要結果的時候查詢才會被執行,在第1個例子中,當foreach迴圈開始時,查詢才被執行。這是個很有用的特性,因為這可以通過在遊標(cursor)中增加選項來取回結果,恰好在定義查詢後,執行查詢前這個時刻。例如,可以設定選項來執行分頁,
或者擷取指定數目的匹配的文檔。$total = $cursor->total();$cursor->limit(20)->skip(40);foreach($cursor as $user) {}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.