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

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                Mongo模型是專門為Mongo數據庫驅動而支持的Model擴展,如果需要操作Mongo數據庫的話,自定義的模型類必須繼承Think\Model\MongoModel。 Mongo模型為操作Mongo數據庫提供了更方便的實用功能和查詢用法,包括: 1. 對MongoId對象和非對象主鍵的全面支持; 1. 保持了動態追加字段的特性; 1. 數字自增字段的支持; 1. 執行SQL日志的支持; 1. 字段自動檢測的支持; 1. 查詢語言的支持; 1. MongoCode執行的支持; ## 主鍵 系統很好的支持Mongo的主鍵類型,Mongo默認的主鍵名是 _id,也可以通過設置pk屬性改變主鍵名稱(也許你需要用其他字段作為數據表的主鍵),例如: ~~~ namespace Home\Model; use Think\Model\MongoModel; Class UserModel extends MongoModel { Protected $pk = 'id'; } ~~~ 主鍵支持三種類型(通過_idType屬性設置),分別是: | 類型 | 描述 | |-----|-----| | self::TYPE_OBJECT或者1 | (默認類型) 采用MongoId對象,寫入或者查詢的時候傳入數字或者字符會自動轉換,獲取的時候會自動轉換成字符串。 | | self::TYPE_INT或者2 | 整形,支持自動增長,通過設置_autoInc 屬性 | | self::TYPE_STRING或者3 | 字符串hash | 設置主鍵類型示例: ~~~ namespace Home\Model; use Think\Model\MongoModel; 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 Think\Model\MongoModel("User"); $Model->field("name,email,age")->order("status desc")->limit("10,8")->select(); ~~~ ## 查詢支持 Mongo數據庫的查詢條件和其他數據庫有所區別。 1. 首先,支持所有的普通查詢和快捷查詢; 1. 表達式查詢增加了一些針對MongoDb的查詢用法; 1. 統計查詢目前只能支持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>

                              哎呀哎呀视频在线观看