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

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # Mongo模型 [上一頁](# "上一頁")[下一頁](# "下一頁") Mongo模型是專門為Mongo數據庫驅動而支持的Model擴展,如果需要操作Mongo數據庫的話,自定義的模型類必須繼承MongoModel。 Mongo模型為操作Mongo數據庫提供了更方便的實用功能和查詢用法,包括: - 對MongoId對象和非對象主鍵的全面支持; - 保持了動態追加字段的特性; - 數字自增字段的支持; - 執行SQL日志的支持; - 字段自動檢測的支持; - 查詢語言的支持; - MongoCode執行的支持; ### 主鍵 系統很好的支持Mongo的主鍵類型,Mongo默認的主鍵名是 _id,也可以通過設置pk屬性改變主鍵名稱(也許你需要用其他字段作為數據表的主鍵),例如:`Class?UserModel?extends?MongoModel?{ ????Protected?$pk?=?'id'; }`主鍵支持三種類型(通過_idType屬性設置),分別是: <table border="0" cellspacing="1" cellpadding="0"><tr><th>類型</th> <th>描述</th> </tr><tr><td>self::TYPE_OBJECT或者1<br/> (默認類型)</td> <td>采用MongoId對象,寫入或者查詢的時候傳入數字或者字符會自動轉換,獲取的時候會自動轉換成字符串。</td> </tr><tr><td>self::TYPE_INT或者2</td> <td>整形,支持自動增長,通過設置_autoInc?屬性</td> </tr><tr><td>self::TYPE_STRING或者3</td> <td>字符串hash</td> </tr></table> 設置主鍵類型示例:`Class?UserModel?extends?MongoModel?{ ????Protected?$_idType?=?self::TYPE_INT; ????protected?$_autoInc?=??true; }` ### 字段檢測 MongoModel默認關閉字段檢測,是為了保持Mongo的動態追加字段的特性,如果你的應用不需要使用Mongo動態追加字段的特性,可以設置autoCheckFields為true即可開啟字段檢測功能,提高安全性。一旦開啟字段檢測功能后,系統會自動查找當前數據表的第一條記錄來獲取字段列表。 如果你關閉字段檢測功能的話,將不能使用查詢的字段排除功能。 ### 連貫操作 MongoModel中有部分連貫操作暫時不支持,包括:group、union、join、having、lock和distinct操作。其他連貫操作都可以很好的支持,例如:`$Model?=?new?MongoModel("User"); $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; $data['score']?=?array('inc',2); $Model->save($data);` ### 其他 MongoModel增加了幾個方法 mongoCode 執行MongoCode getMongoNextId([字段名]) 獲取自增字段的下一個ID,可用于數字主鍵或者其他需要自增的字段,參數為空的時候表示或者主鍵的。 Clear 清空當前數據表方法 [上一頁](# "上一頁")[下一頁](# "下一頁")
                  <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>

                              哎呀哎呀视频在线观看