TaffyDB 是一個輕量級且功能強大的記憶體資料庫,可用於瀏覽器和伺服器端應用程式。它是開源的並且可以免費使用。在本教程中,我們將透過幾個範例來展示如何使用 TaffyDB 儲存一些資料、對資料執行一些查詢以及對資料執行重要操作。
讓我們從一個非常基本的範例開始,在該範例中我們將創建一些數據,然後嘗試在瀏覽器上列印該數據。
我們的第一步是擁有TaffyDB。為此,我們有不同的選擇。最基本的方法是使用包含「taffydb.js」檔案的縮小版本的 URL。
“taffydb.js”的程式碼可以在此連結中找到。我建議您打開此鏈接,然後複製程式碼並將其貼到名為“taffy.js”的檔案中。否則,你可以 只需使用其 CDN。
現在處理了依賴關係,讓我們專注於「index.html」文件,我們將在其中編寫核心邏輯,當然,在 <script> 標記內。考慮下面顯示的 HTML 程式碼。 </script>
index.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>TaffyDB</title> <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/taffydb/2.7.3/taffy-min.js"></script> <script> let countries = TAFFY([{ name: "India", state: "Uttar Pradesh", capital: "New Delhi", }, { name: "USA", state: "California", capital: "Washington DC", }, { name: "Germany", state: "Berlin", capital: "Berlin", }]); let countriesNames = []; countries().each(function(r) { countriesNames.push(r.name); }); document.write(countriesNames); </script> </head> <body> </body> </html>
如果您在瀏覽器中執行上述程式碼,您應該會看到以下輸出。
在上面的程式碼中,我們首先匯入了「taffy.js」文件,然後在 &ly;head> 標籤本身內建立了一個 <script> 標籤。在 <script> 標籤內,我們建立了一個 TAFFY 對象,在其中建立了一個物件數組,其中存在多個具有不同屬性的物件。 </script>
然後,我們迭代 countries 變數的值,對於每個變量,我們將「name」屬性的值放入名為「countriesName」的數組中。
如果您在瀏覽器中執行上述程式碼,您應該會看到以下輸出。
在上面的範例中,我們建立了一個物件陣列並將其傳遞給 TIFFY 方法。現在讓我們專注於向資料插入一個新對象,我們可以藉助 insert() 方法來完成此操作。在 insert() 方法中,我們可以傳遞相同的屬性或不同的屬性,這取決於我們的選擇。
考慮下面顯示的程式碼片段,我們可以使用它向 TaffyDB 中的國家變數。
countries.insert({ name: "Brazil", state: "State of São Paulo", capital: "Brasília", });
index.html
更新後的index.html程式碼如下圖所示。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>TaffyDB</title> <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/taffydb/2.7.3/taffy-min.js"></script> <script> let countries = TAFFY([{ name: "India", state: "Uttar Pradesh", capital: "New Delhi", }, { name: "USA", state: "California", capital: "Washington DC", }, { name: "Germany", state: "Berlin", capital: "Berlin", }]); countries.insert({ name: "Brazil", state: "State of São Paulo", capital: "Brasília", }); let countriesNames = []; countries().each(function(r) { countriesNames.push(r.name); }); document.write(countriesNames); </script> </head> <body> </body> </html>
如果您在瀏覽器中執行上述程式碼,您應該會看到以下輸出 -
雖然我們在上面的範例中執行了查詢,但讓我們再次執行一個簡單的查詢,其中我們要儲存其首都和州在資料中具有相同值的國家/地區的名稱。
index.html
考慮下面所示的 index.html 程式碼。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>TaffyDB</title> <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/taffydb/2.7.3/taffy-min.js"></script> <script> let countries = TAFFY([{ name: "India", state: "Uttar Pradesh", capital: "New Delhi", }, { name: "USA", state: "California", capital: "Washington DC", }, { name: "Germany", state: "Berlin", capital: "Berlin", }]); countries.insert({ name: "Brazil", state: "State of São Paulo", capital: "Brasília", }); let res = []; countries().each(function(r) { if (r.state === r.capital) { res.push(r.name) } }); document.write(res); </script> </head> <body> </body> </html>
在上面的 HTML 程式碼中,我們藉助 each() 方法迭代 countries 變數的所有值,然後比較「capital」並用它們「宣告」屬性值。然後,如果匹配,我們將值放入數組中,最後在控制台中列印該數組。
如果我們在瀏覽器中運行上面的 HTML 文件,我們將在 終端。
現在讓我們再執行一次查詢,這次,我們要列印字典順序中最小的國家/地區的名稱。從上面範例中的數據來看,它將是“巴西”。考慮下面顯示的 HTML 程式碼。
index.html
考慮下面所示的 index.html 程式碼。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>TaffyDB</title> <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/taffydb/2.7.3/taffy-min.js"></script> <script> let countries = TAFFY([{ name: "India", state: "Uttar Pradesh", capital: "New Delhi", }, { name: "USA", state: "California", capital: "Washington DC", }, { name: "Germany", state: "Berlin", capital: "Berlin", }]); countries.insert({ name: "Brazil", state: "State of São Paulo", capital: "Brasília", }); let res = countries().order("name").first().name; document.write(res); </script> </head> <body> </body> </html>
在上面的程式碼中,包含程式碼countries().order("name").first().name 的行是我們使用名為連結#,其中鏈接多個方法。首先,我們按 name 屬性對資料進行排序,然後從排序後的資料中選擇第一個元素,最後,我們從該元素中提取 name 屬性。
如果您在瀏覽器中執行上述 HTML 文件,您將在 終端。
可以藉助 update() 方法來更新 TaffyDB 中的資料。在這個方法中,如果我們傳遞一個物件中不存在的屬性,那麼它將被追加;如果確實存在,則會更新。
假設您要在名為「India」的物件中新增一個字段,並新增一個名為 financialCapital 的新屬性:「Mumbai」。考慮下面顯示的 HTML 程式碼。
index.html
考慮下面所示的 index.html 程式碼。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>TaffyDB</title> <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/taffydb/2.7.3/taffy-min.js"></script> <script> let countries = TAFFY([{ name: "India", state: "Uttar Pradesh", capital: "New Delhi", }, { name: "USA", state: "California", capital: "Washington DC", }, { name: "Germany", state: "Berlin", capital: "Berlin", }]); countries.insert({ name: "Brazil", state: "State of São Paulo", capital: "Brasília", }); countries({ name: "India" }).update({ financialCapital: "Mumbai" }) countries().each(function(r) { if (r.name == "India") { document.write(r.financialCapital + "<br>") } else { document.write(r.capital + "<br>") } }) </script> </head> <body>
為了驗證我們添加的資料是否已添加到資料庫中,我迭代該對象,然後使用簡單的“if-else”條件列印值。
如果您在浏览器中运行上述 HTML 文件,您将在 终端。
通过使用“!”运算符,您可以在 TaffyDB 中编写复杂的查询。考虑下面显示的 index.html 代码,其中我尝试使用“!”来打印除印度之外的所有具有该名称的国家/地区。运算符。
index.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>TaffyDB</title> <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/taffydb/2.7.3/taffy-min.js"></script> <script> let countries = TAFFY([{ name: "India", state: "Uttar Pradesh", capital: "New Delhi", }, { name: "USA", state: "California", capital: "Washington DC", }, { name: "Germany", state: "Berlin", capital: "Berlin", }]); countries.insert({ name: "Brazil", state: "State of São Paulo", capital: "Brasília", }); countries({ name: { "!is": "India" } }).each(function(r) { document.write(r.name + "<br>"); }) </script> </head> <body> </body> </html>
如果您在浏览器中运行上述 HTML 文件,您将在 终端。
在本教程中,我们使用多个示例来演示如何在 TaffyDB 中执行 CRUD 操作。
以上是TaffyDB – 適用於瀏覽器的 JavaScript 資料庫的詳細內容。更多資訊請關注PHP中文網其他相關文章!