<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # Mongo模型 [上一頁](78.html "上一頁")[下一頁](80.html "下一頁") Mongo模型是專門為Mongo數據庫驅動而支持的Model擴展,如果需要操作Mongo數據庫的話,自定義的模型類必須繼承MongoModel。 Mongo模型為操作Mongo數據庫提供了更方便的實用功能和查詢用法,包括:- 對MongoId對象和非對象主鍵的全面支持; - 保持了動態追加字段的特性; - 數字自增字段的支持; - 執行SQL日志的支持; - 字段自動檢測的支持; - 查詢語言的支持; - MongoCode執行的支持; ### 主鍵 系統很好的支持Mongo的主鍵類型,Mongo默認的主鍵名是 _id,也可以通過設置pk屬性改變主鍵名稱(也許你需要用其他字段作為數據表的主鍵),例如:`Class?UserModel?extends?MongoModel?{<br class="calibre5"></br>????Protected?$pk?=?'id';<br class="calibre5"></br>}`主鍵支持三種類型(通過_idType屬性設置),分別是:類型 描述 self::TYPE\_OBJECT或者1 (默認類型) 采用MongoId對象,寫入或者查詢的時候傳入數字或者字符會自動轉換,獲取的時候會自動轉換成字符串。 self::TYPE\_INT或者2 整形,支持自動增長,通過設置\_autoInc 屬性 self::TYPE\_STRING或者3 字符串hash 設置主鍵類型示例:`Class?UserModel?extends?MongoModel?{<br class="calibre5"></br>????Protected?$_idType?=?self::TYPE_INT;<br class="calibre5"></br>????protected?$_autoInc?=??true;<br class="calibre5"></br>}`### 字段檢測 MongoModel默認關閉字段檢測,是為了保持Mongo的動態追加字段的特性,如果你的應用不需要使用Mongo動態追加字段的特性,可以設置autoCheckFields為true即可開啟字段檢測功能,提高安全性。一旦開啟字段檢測功能后,系統會自動查找當前數據表的第一條記錄來獲取字段列表。 如果你關閉字段檢測功能的話,將不能使用查詢的字段排除功能。### 連貫操作 MongoModel中有部分連貫操作暫時不支持,包括:group、union、join、having、lock和distinct操作。其他連貫操作都可以很好的支持,例如:`$Model?=?new?MongoModel("User");<br class="calibre5"></br>$Model->field("name,email,age")->order("status?desc")->limit("10,8")->select();`### 查詢支持 Mongo數據庫的查詢條件和其他數據庫有所區別。 首先,支持所有的普通查詢和快捷查詢; 表達式查詢增加了一些針對MongoDb的查詢用法; 統計查詢目前只能支持count操作,其他的可能要自己通過MongoCode來實現了; MongoModel的組合查詢支持 _string 采用MongoCode查詢 _query 和其他數據庫的請求字符串查詢相同 _complex MongoDb暫不支持 MongoModel提供了MongoCode方法,可以支持MongoCode方式的查詢或者操作。### 表達式查詢 表達式查詢采用下面的方式: $map['字段名'] = array('表達式','查詢條件'); 因為MongoDb的特性,MongoModel的表達式查詢和其他的數據庫有所區別,增加了一些新的用法。 表達式不分大小寫,支持的查詢表達式和Mongo原生的查詢語法對照如下:查詢表達式 含義 Mongo原生查詢條件 neq 或者ne 不等于 $ne lt 小于 $lt lte 或者elt 小于等于 $lte gt 大于 $gt gte 或者egt 大于等于 $gte like 模糊查詢 用MongoRegex正則模擬 無 mod 取模運算 $mod in in查詢 $in nin或者not in not in查詢 $nin all 滿足所有條件 $all between 在某個的區間 無 not between 不在某個區間 無 exists 字段是否存在 $exists size 限制屬性大小 $size type 限制字段類型 $type regex MongoRegex正則查詢 MongoRegex實現 exp 使用MongoCode查詢 無 注意,在使用like查詢表達式的時候,和mysql的方式略有區別,對應關系如下:Mysql模糊查詢 Mongo模糊查詢 array('like','%thinkphp%'); array('like','thinkphp'); array('like','thinkphp%'); array('like','^thinkphp'); array('like','%thinkphp'); array('like','thinkphp$'); LIKE: 同sql的LIKE 例如:`$map['name']?=?array('like','^thinkphp');`查詢條件就變成 name like 'thinkphp%'### 設置支持 Mongo的數據更新設置用于數據保存和寫入操作,可以支持:表達式 含義 Mongo原生用法 inc 數字字段增長或減少 $inc set 字段賦值 $set unset 刪除字段值 $unset push 追加一個值到字段(必須是數組類型)里面去 $push pushall 追加多個值到字段(必須是數組類型)里面去 $pushall addtoset 增加一個值到字段(必須是數組類型)內,而且只有當這個值不在數組內才增加 $addtoset pop 根據索引刪除字段(必須是數組字段)中的一個值 $pop pull 根據值刪除字段(必須是數組字段)中的一個值 $pull pullall 一次刪除字段(必須是數組字段)中的多個值 $pullall 例如,`$data['id']?=?5;<br class="calibre5"></br>$data['score']?=?array('inc',2);<br class="calibre5"></br>$Model->save($data);`### 其他 MongoModel增加了幾個方法 mongoCode 執行MongoCode getMongoNextId([字段名]) 獲取自增字段的下一個ID,可用于數字主鍵或者其他需要自增的字段,參數為空的時候表示或者主鍵的。 Clear 清空當前數據表方法 [上一頁](78.html "上一頁")[下一頁](80.html "下一頁")
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看