<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、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                [TOC] > [github](https://github.com/HouzuoGuo/tiedot) ## 簡述 使用有2種方式,使用HTTP做接口,適用任何語言;使用嵌入式,使用Go語言,這里介紹使用Go語言,數據庫的嵌入模式,足以應付百萬請求/天了。 ## 實例 ### hello world <details> <summary>main.go</summary> ``` package main import ( "encoding/json" "fmt" "os" "github.com/HouzuoGuo/tiedot/db" "github.com/HouzuoGuo/tiedot/dberr" ) func EmbeddedExample() { myDBDir := "MyDatabase" os.RemoveAll(myDBDir) defer os.RemoveAll(myDBDir) myDB, err := db.OpenDB(myDBDir) if err != nil { panic(err) } // 創建兩個數據庫 if err := myDB.Create("Feeds"); err != nil { panic(err) } if err := myDB.Create("Votes"); err != nil { panic(err) } // 查詢有哪些數據庫 for _, name := range myDB.AllCols() { fmt.Printf("I have a collection called %s\n", name) } // 重命名數據庫 if err := myDB.Rename("Votes", "Points"); err != nil { panic(err) } // 刪除數據庫 if err := myDB.Drop("Points"); err != nil { panic(err) } // "Feeds"修復并壓縮表"Feeds" if err := myDB.Scrub("Feeds"); err != nil { panic(err) } // use feeds feeds := myDB.Use("Feeds") // 添加,返回自己生成的 id, 此種格式:6562749276262285211 docID, err := feeds.Insert(map[string]interface{}{ "name": "Go 1.2 is released", "url": "golang.org"}) if err != nil { panic(err) } // 查詢 readBack, err := feeds.Read(docID) if err != nil { panic(err) } fmt.Println("Document", docID, "is", readBack) // 更新 err = feeds.Update(docID, map[string]interface{}{ "name": "Go is very popular", "url": "google.com"}) if err != nil { panic(err) } // 處理所有文件(注意,文檔順序是不確定的) feeds.ForEachDoc(func(id int, docContent []byte) (willMoveOn bool) { fmt.Println("Document", id, "is", string(docContent)) return true // 轉到下一個文檔或 return false // 不要移動到下一個文件嗎 }) // 刪除文檔 if err := feeds.Delete(docID); err != nil { panic(err) } // 處理錯誤類型 if err := feeds.Delete(docID); dberr.Type(err) == dberr.ErrorNoDoc { fmt.Println("The document was already deleted") } // 創建索引 if err := feeds.Index([]string{"author", "name", "first_name"}); err != nil { panic(err) } if err := feeds.Index([]string{"Title"}); err != nil { panic(err) } if err := feeds.Index([]string{"Source"}); err != nil { panic(err) } // 查看所有索引 for _, path := range feeds.AllIndexes() { fmt.Printf("I have an index on path %v\n", path) } // 移除索引 if err := feeds.Unindex([]string{"author", "name", "first_name"}); err != nil { panic(err) } feeds.Insert(map[string]interface{}{"Title": "New Go release", "Source": "golang.org", "Age": 3}) feeds.Insert(map[string]interface{}{"Title": "Kitkat is here", "Source": "google.com", "Age": 2}) feeds.Insert(map[string]interface{}{"Title": "Good Slackware", "Source": "slackware.com", "Age": 1}) // 查詢兩條結果 var query interface{} json.Unmarshal([]byte(`[{"eq": "New Go release", "in": ["Title"]}, {"eq": "slackware.com", "in": ["Source"]}]`), &query) queryResult := make(map[int]struct{}) if err := db.EvalQuery(query, feeds, &queryResult); err != nil { panic(err) } // 遍歷查詢結果 for id := range queryResult { readBack, err := feeds.Read(id) if err != nil { panic(err) } fmt.Printf("Query returned document %v\n", readBack) } // 關閉數據庫 if err := myDB.Close(); err != nil { panic(err) } } func main() { EmbeddedExample() } ``` </details> <br /> 運行結果 ``` I have a collection called Feeds I have a collection called Votes Document 6562749276262285211 is map[name:Go 1.2 is released url:golang.org] Document 6562749276262285211 is {"name":"Go is very popular","url":"google.com"} The document was already deleted I have an index on path [Title] I have an index on path [Source] I have an index on path [author name first_name] Query returned document map[Age:3 Source:golang.org Title:New Go release] Query returned document map[Age:1 Source:slackware.com Title:Good Slackware] ```
                  <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>

                              哎呀哎呀视频在线观看