- ArangoDB 教程
- ArangoDB - 首頁
- 多模型首選資料庫
- ArangoDB – 優勢
- 基本概念與術語
- ArangoDB – 系統需求
- ArangoDB – 命令列
- ArangoDB - Web 介面
- ArangoDB - 示例案例
- 資料模型與建模
- ArangoDB - 資料庫方法
- ArangoDB - 增刪改查操作
- 使用 Web 介面進行增刪改查操作
- 使用 AQL 查詢資料
- ArangoDB - AQL 示例查詢
- ArangoDB – 如何部署
- ArangoDB 有用資源
- ArangoDB - 快速指南
- ArangoDB - 有用資源
- ArangoDB - 討論
ArangoDB - 增刪改查操作
在本節中,我們將學習 Arangosh 的不同操作。
以下是 Arangosh 中可能的操作:
- 建立文件集合
- 建立文件
- 讀取文件
- 更新文件
讓我們從建立一個新的資料庫開始。我們將使用以下程式碼行建立一個新的資料庫:
127.0.0.1:8529@_system> db._createDatabase("song_collection")
true
以下程式碼行將幫助您切換到新的資料庫:
127.0.0.1:8529@_system> db._useDatabase("song_collection")
true
提示符將切換到“@@song_collection”
127.0.0.1:8529@song_collection>
從這裡我們將學習 CRUD 操作。讓我們在新的資料庫中建立一個集合:
127.0.0.1:8529@song_collection> db._createDocumentCollection('songs')
輸出
[ArangoCollection 4890, "songs" (type document, status loaded)] 127.0.0.1:8529@song_collection>
讓我們向我們的“songs”集合新增一些文件(JSON 物件)。
我們以以下方式新增第一個文件:
127.0.0.1:8529@song_collection> db.songs.save({title: "A Man's Best Friend",
lyricist: "Johnny Mercer", composer: "Johnny Mercer", Year: 1950, _key:
"A_Man"})
輸出
{
"_id" : "songs/A_Man",
"_key" : "A_Man",
"_rev" : "_VjVClbW---"
}
讓我們向資料庫新增其他文件。這將幫助我們學習查詢資料的過程。您可以複製這些程式碼並將其貼上到 Arangosh 中以模擬該過程:
127.0.0.1:8529@song_collection> db.songs.save(
{
title: "Accentchuate The Politics",
lyricist: "Johnny Mercer",
composer: "Harold Arlen", Year: 1944,
_key: "Accentchuate_The"
}
)
{
"_id" : "songs/Accentchuate_The",
"_key" : "Accentchuate_The",
"_rev" : "_VjVDnzO---"
}
127.0.0.1:8529@song_collection> db.songs.save(
{
title: "Affable Balding Me",
lyricist: "Johnny Mercer",
composer: "Robert Emmett Dolan",
Year: 1950,
_key: "Affable_Balding"
}
)
{
"_id" : "songs/Affable_Balding",
"_key" : "Affable_Balding",
"_rev" : "_VjVEFMm---"
}
如何讀取文件
可以使用_key或文件控制代碼來檢索文件。如果不需要遍歷集合本身,請使用文件控制代碼。如果您有集合,則文件函式易於使用:
127.0.0.1:8529@song_collection> db.songs.document("A_Man");
{
"_key" : "A_Man",
"_id" : "songs/A_Man",
"_rev" : "_VjVClbW---",
"title" : "A Man's Best Friend",
"lyricist" : "Johnny Mercer",
"composer" : "Johnny Mercer",
"Year" : 1950
}
如何更新文件
有兩種選項可用於更新儲存的資料:replace和update。
update 函式修補文件,將其與給定的屬性合併。另一方面,replace 函式將用新文件替換以前的文件。即使提供了完全不同的屬性,替換仍然會發生。我們首先觀察一個非破壞性更新,更新歌曲中的“Production”屬性:
127.0.0.1:8529@song_collection> db.songs.update("songs/A_Man",{production:
"Top Banana"});
輸出
{
"_id" : "songs/A_Man",
"_key" : "A_Man",
"_rev" : "_VjVOcqe---",
"_oldRev" : "_VjVClbW---"
}
現在讓我們讀取更新後的歌曲屬性:
127.0.0.1:8529@song_collection> db.songs.document('A_Man');
輸出
{
"_key" : "A_Man",
"_id" : "songs/A_Man",
"_rev" : "_VjVOcqe---",
"title" : "A Man's Best Friend",
"lyricist" : "Johnny Mercer",
"composer" : "Johnny Mercer",
"Year" : 1950,
"production" : "Top Banana"
}
可以使用update函式輕鬆更新大型文件,尤其是在屬性很少的情況下。
相反,replace函式在與同一文件一起使用時將廢除您的資料。
127.0.0.1:8529@song_collection> db.songs.replace("songs/A_Man",{production:
"Top Banana"});
現在讓我們使用以下程式碼行檢查我們剛剛更新的歌曲:
127.0.0.1:8529@song_collection> db.songs.document('A_Man');
輸出
{
"_key" : "A_Man",
"_id" : "songs/A_Man",
"_rev" : "_VjVRhOq---",
"production" : "Top Banana"
}
現在,您可以觀察到文件不再具有原始資料。
如何刪除文件
remove 函式與文件控制代碼結合使用以從集合中刪除文件:
127.0.0.1:8529@song_collection> db.songs.remove('A_Man');
現在讓我們使用以下程式碼行檢查我們剛剛刪除的歌曲屬性:
127.0.0.1:8529@song_collection> db.songs.document('A_Man');
我們將得到如下異常錯誤作為輸出:
JavaScript exception in file '/usr/share/arangodb3/js/client/modules/@arangodb/arangosh.js' at 97,7: ArangoError 1202: document not found ! throw error; ! ^ stacktrace: ArangoError: document not found at Object.exports.checkRequestResult (/usr/share/arangodb3/js/client/modules/@arangodb/arangosh.js:95:21) at ArangoCollection.document (/usr/share/arangodb3/js/client/modules/@arangodb/arango-collection.js:667:12) at <shell command>:1:10
廣告