PHP mongodb運用,MongoDB在PHP下的應用學習筆記

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) {

}0b1331709591d260c1c78e86d0c51c18.png

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/388700.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/388700.shtml
英文地址,請注明出處:http://en.pswp.cn/news/388700.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

a標簽

a標簽定義超鏈接&#xff0c;用于從一張頁面鏈接到另一張頁面&#xff0c;它最重要的屬性是 href 屬性&#xff0c;它指示鏈接的目標。 <a href"http://www.w3school.com.cn">W3School</a> 最常用的就像這樣添加一個鏈接&#xff0c;如果是點擊事件的話&…

MFC程序執行過程剖析

一 MFC程序執行過程剖析 1&#xff09;我們知道在WIN32API程序當中&#xff0c;程序的入口為WinMain函數&#xff0c;在這個函數當中我們完成注冊窗口類&#xff0c;創建窗口&#xff0c;進入消息循環&#xff0c;最后由操作系統根據發送到程序窗口的消息調用程序的窗口函數。而…

CF888E Maximum Subsequence(meet in the middle)

給一個數列和m&#xff0c;在數列任選若干個數&#xff0c;使得他們的和對m取模后最大&#xff08; \(1<n<35\) , \(1<m<10^{9}\)&#xff09; 考慮把數列分成兩份&#xff0c;兩邊分別暴力求出所有的可能&#xff0c;那么對于一個數列中每一個數字\(x\)&#xff0…

virtualbox php mac,詳解mac下通過docker搭建LEMP環境

在mac下通過docker搭建LEMP環境境1.安裝virtualbox。由于docker是在lxc環境的容器2.安裝boot2docker&#xff0c;用于與docker客戶端通訊> brew update> brew install docker> brew install boot2docker3.初始化boot2docker&#xff0c;也就是在virtualbox上安裝一個d…

SpringBoot項目打war包部署Tomcat教程

一、簡介 正常來說SpringBoot項目就直接用jar包來啟動&#xff0c;使用它內部的tomcat實現微服務&#xff0c;但有些時候可能有部署到外部tomcat的需求&#xff0c;本教程就講解一下如何操作 二、修改pom.xml 將要部署的module的pom.xml文件<packaging>節點設置為war <…

在VS2005中使用添加變量向導十分的

在VS2005中使用添加變量向導十分的方便&#xff0c;但是如何手動添加呢。可以分為2步&#xff1a; 1. 在控件對應的類的頭文件中添加相應的變量聲明&#xff08;如&#xff1a;CString m_strResult&#xff09; 2. 在類的實現文件中的DoDataExchange(CDataExchange* pDX)函數…

關于如何使用xposed來hook微信軟件

安卓端 難點有兩個 收款碼的生成和到帳監聽需要源碼加 2442982910轉載于:https://www.cnblogs.com/ganchuanpu/p/10220705.html

GitHub動作簡介

GitHub Actions can be a little confusing if you’re new to DevOps and the CI/CD world, so in this article, we’re going to explore some features and see what we can do using the tool.如果您是DevOps和CI / CD領域的新手&#xff0c;那么GitHub Actions可能會使您…

java returnaddress,JVM之數據類型

《Java虛擬機規范》閱讀筆記-數據類型1.概述Java虛擬機的數據類型可分為兩大類&#xff1a;原始類型(Primitive Types&#xff0c;也稱為基本類型)和引用類型(Reference Types)。Java虛擬機用不同的字節碼指令來操作不同的數據類型[1] 。2.原始類型原始類型是最基本的元素&…

C# matlab

編譯環境&#xff1a;Microsoft Visual Studio 2008版本 9.0.21022.8 RTMMicrosoft .NET Framework版本 3.5已安裝的版本: ProfessionalMicrosoft Visual Basic 2008 91986-031-5000002-60050Microsoft Visual Basic 2008Microsoft Visual C# 2008 91986-031-5000002-60050…

洛谷P3273 [SCOI2011] 棘手的操作 [左偏樹]

題目傳送門 棘手的操作 題目描述 有N個節點&#xff0c;標號從1到N&#xff0c;這N個節點一開始相互不連通。第i個節點的初始權值為a[i]&#xff0c;接下來有如下一些操作&#xff1a; U x y: 加一條邊&#xff0c;連接第x個節點和第y個節點A1 x v: 將第x個節點的權值增加vA2 x…

基于容器制作鏡像

一。鏡像基礎 一。基于容器制作鏡像 1. 查看并關聯運行的容器 [ghlocalhost ~]$ docker container ls CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 4da438fc9a8e busybox …

照顧好自己才能照顧好別人_您必須照顧的5個基本數據

照顧好自己才能照顧好別人I am pretty sure that on your data journey you came across some courses, videos, articles, maybe use cases where someone takes some data, builds a classification/regression model, shows you great results, you learn how that model wo…

matlab數字仿真實驗,DVR+備用電源自動投入的MATLAB數字仿真實驗仿真實驗

一、動態電壓恢復器(DVR)的數字仿真實驗動態電壓恢復器(Dynamic Voltage Restorer&#xff0c;DVR)是一種基于電力電子技術的串聯補償裝置&#xff0c;通常安裝在電源與敏感負荷之間&#xff0c;其作用在于&#xff1a;保證電網供電質量&#xff0c;補償供電電網產生的電壓跌落…

c#,xp系統,Matlab6.5

編譯環境&#xff1a;c#&#xff0c;xp系統&#xff0c;Matlab6.5 新建一個窗體項目&#xff0c;添加matlab引用。 然后試了四種方式調用matlab&#xff1a; 第一種 view plaincopy to clipboardprint?MLApp.MLAppClass matlab new MLApp.MLAppClass(); matlab.Visible 1;…

java script 對象

java script 對象 1.創建方式 1&#xff09;通過字面量的形式創建 例&#xff1b;var stt{x:1,y:2,y:3}; 或&#xff1b;var stt{ x:1, y:2, for:3 } 注意關鍵字必須放到引號中間 2&#xff09;通過new創建對象 例&#xff1a;var new stt(); stt.name 小魚; stt.age 20…

認識數據分析_認識您的最佳探索數據分析新朋友

認識數據分析Visualization often plays a minimal role in the data science and model-building process, yet Tukey, the creator of Exploratory Data Analysis, specifically advocated for the heavy use of visualization to address the limitations of numerical indi…

架構探險筆記10-框架優化之文件上傳

確定文件上傳使用場景 通常情況下&#xff0c;我們可以通過一個form&#xff08;表單&#xff09;來上傳文件&#xff0c;就以下面的“創建客戶”為例來說明&#xff08;對應的文件名是customer_create.jsp&#xff09;&#xff0c;需要提供一個form&#xff0c;并將其enctype屬…

matlab飛行數據仿真,基于MATLAB的飛行仿真

收稿日期: 2005 - 05 - 15   第 23卷  第 06期 計  算  機  仿  真 2006年 06月    文章編號: 1006 - 9348 (2006) 06 - 0057 - 05 基于 MATLAB的飛行仿真 張鐳 ,姜洪洲 ,齊潘國 ,李洪人 (哈爾濱工業大學電液伺服仿真及試驗系統研究所 ,黑龍江 哈爾濱 150001) 摘要:該…

Windows Server 2003 DNS服務安裝篇

導讀-- DNS(Domain Name System&#xff0c;域名系統)是一種組織成層次結構的分布式數據庫&#xff0c;里面包含有從DNS域名到各種數據類型(如IP地址)的映射“貴有恒&#xff0c;何必三更起五更勤;最無益&#xff0c;只怕一日曝十日寒。”前一段時間巴哥因為一些生活瑣事而中止…