JavaScript
Database Operations
17 分
执行无服务器数据库操作 介绍 本节解释如何通过 back4app 在 javascript 环境中实现 crud(创建、读取、更新和删除)操作 。 它还提供代码片段和一个在线环境,以便您执行和测试代码,而无需本地设置。 有关 parse sdk 的更多信息,请访问 parse javascript sdk api 参考 和 parse javascript sdk 开源文档 先决条件 除了具备基本的 javascript 知识外,没有其他额外要求。 可选: 要使用您自己的应用程序完成本教程,您需要: 在 back4app 上创建并配置的 javascript 应用程序。 注意:请遵循 javascript 安装 parse sdk 教程 以了解如何操作。 1 设置环境 本指南使用 jsbin 平台作为代码编辑器。 使用起来非常简单,您只需打开其主页并点击 html html , javascript javascript 和 控制台 控制台 按钮 开始编码的第一步是包含 parse api 并添加您的应用程序密钥。 在本教程中,创建了一个公共 back4app 应用程序,以便您可以在数据库中检查您的更改,而无需创建自己的应用程序。 可选 要检查此示例的 parse 数据库,您需要创建自己的应用程序并访问 parse dashboard parse dashboard 选项。 要在您的应用程序中包含 parse api,请在 html html 的头标签中添加以下代码行 然后在 javascript javascript 文件的开头添加您的凭据。默认密钥与我们的公共应用程序相关。 //paste your application key and javascript key, respectively parse initialize("your application id", "your javascript key"); parse serverurl = "https //parseapi back4app com/"; 在本教程中,我们将基于一个具有名称和年龄字段的宠物类构建 crud 操作 ,其中名称是字符串,年龄是数字。因此,代码应该首先创建一个宠物类的子类,以便稍后在我们的函数中使用,如下所示: var pet = parse object extend("pet"); 所有基本操作都需要用户说明所需宠物的名称。这样,创建一个全局变量“textname”。创建一个“textage”变量也是个好主意,它将在创建和更新方法中使用。 var textname = "myname"; var textage = 10; 2 创建 该 创建 创建 函数将使用您在“textname”和“textage”变量中提供的名称和年龄创建一个新的宠物。 要构建该函数,只需按照以下步骤操作: 使用命令创建 parse 的宠物类的新实例 使用 设置 设置 函数为该对象设置参数。 调用 保存 保存 函数,这将有效地将宠物注册到您的数据库中,在 parse dashboard parse dashboard 。 您可以打开 back4app javascript 创建函数 以查看已实现的代码。 该 创建 创建 函数的代码如下所示: create js create(); function create() { mypet = new pet(); mypet set("name", textname); mypet set("agepet", textage); mypet save() then(function(pet){ console log('pet created successful with name ' + pet get("name") + ' and age ' + pet get("agepet")); }) catch(function(error){ console log('error ' + error message); }); } 要测试它,请将此代码片段粘贴到 jsbin , 点击控制台部分的 运行 运行 按钮并等待输出。 它应该打印出宠物已成功创建的信息。 要确认新对象是否在数据库中,您可以访问 parse dashboard parse dashboard ,或者您可以编写 读取 读取 函数。 3 读取 读取 读取 函数负责查询数据库并返回与您的搜索条件匹配的对象。它也可以用来检查对象的存在。 以下是构建您自己的 读取 读取 函数的逐步指南: 创建 parse 的 query 类的实例。 向查询添加约束以限制搜索。更多约束选项可以在 parse 查询文档。 执行查询的搜索方法。本教程将使用 query first query first 来获取仅与您的条件匹配的第一个元素。 如果操作成功,将返回一个宠物对象。如果未找到对象,返回的对象将具有 未定义 的值。 您可以打开 back4app javascript 读取函数 来查看已经实现的代码。 以下是 读取 读取 函数的代码: read js read(); function read() { query = new parse query(pet); query equalto("name", textname); query first() then(function(pet){ if(pet){ console log('pet found successful with name ' + pet get("name") + ' and age ' + pet get("agepet")); } else { console log("nothing found, please try again"); } }) catch(function(error){ console log("error " + error code + " " + error message); }); } 要测试 读取 读取 函数,将代码片段粘贴到您的 jsbin javascript 文件中。当代码运行时,它将打印找到的宠物的年龄(如果找到的话),否则将打印没有找到宠物的信息。 如果在测试时打印的年龄与您的对象的年龄不符,这意味着有 更多同名的对象,但您的查询只返回其中一个。因此,为了真正测试 读取 读取 函数,请创建一个其他名称的对象,一个尚未被创建的对象,然后运行该函数,它将正确打印该对象的年龄。 4 更新 对于 更新 更新 函数,宠物作为参数传递,函数将其年龄更改为您在 “textage” 变量中提供的年龄。为了找到将被传递的宠物,我们使用我们 读取 读取 函数的修改版本。 以下是制作您自己的 更新 更新 函数的步骤: 编写一个名为 readthenupdate readthenupdate 的修改版读取函数,当成功找到宠物时调用 更新 更新 函数。 在 更新 更新 函数中,使用 设置 设置 函数来修改您宠物的参数。 调用 保存 保存 函数以将此宠物的更改推送到数据库。 您可以打开 back4app javascript 更新函数 来查看已经实现的代码。 这是 readthenupdate readthenupdate 函数和 update update 函数的代码 update js readthenupdate(); function readthenupdate() { query = new parse query(pet); query equalto("name", textname); query first() then(function (pet) { if (pet) { console log('pet found with name ' + pet get("name") + ' and age ' + pet get("agepet")); update(pet); } else { console log("nothing found, please try again"); } }) catch(function (error) { console log("error " + error code + " " + error message); }); } function update(foundpet) { textname = "mynameupdated"; textage = 20; console log(textage); foundpet set('name', textname); foundpet set('agepet', textage); foundpet save() then(function (pet) { console log('pet updated! name ' + pet get("name") + ' and new age ' + pet get("agepet")); }) catch(function(error) { console log('error ' + error message); }); } 要确认 update update 函数是否正常工作,请将上面的代码粘贴到 jsbin 页面中的 javascript 文件中。 使用一个不常见的名称来创建你的对象,以避免与其他用户冲突,然后按照以下步骤操作: 1\ 创建一个你想要的名称的对象。 2\ 检查对象是否已使用你的 read read 函数创建。 3\ 调用你在本主题中创建的 readthenupdate readthenupdate 函数,使用与原始不同的年龄。 4\ 通过再次调用你的 read read 函数检查宠物的年龄是否已更改。 5 删除 该 删除 删除 函数会删除由 读取 读取 函数接收到的宠物。它是一个不可逆的操作,这意味着在使用时要小心,特别是因为你的 读取 读取 函数可能会返回比你实际想要删除的更多对象。因此,建议一次只删除一个对象。编写你自己的 删除 删除 函数的步骤如下 在你的 “读取” 函数成功结束时 ( readthendelete readthendelete 在这个例子中),调用 删除 删除 函数 在 deletepet deletepet 函数中,调用接收到的对象 “foundpet” 的销毁方法 你可以打开 back4app javascript 删除函数 来查看已经实现的代码 这是 readthendelete readthendelete 函数和 deletepet deletepet 函数的代码: delete js readthendelete(); function readthendelete() { query = new parse query(pet); query equalto("name", textname); query first() then(function (pet) { if (pet) { console log('pet found with name ' + pet get("name") + ' and age ' + pet get("agepet")); deletepet(pet); } else { console log("nothing found, please try again"); return null; } }) catch(function (error) { console log("error " + error code + " " + error message); return null; }); } function deletepet(foundpet) { foundpet destroy() then(function(response) { console log('pet '+ foundpet get("name") + ' erased successfully'); }) catch(function(response, error) { console log('error '+ error message); }); } 为了测试,建议创建一个不寻常名称的对象,就像其他函数一样,以避免与其他用户的对象冲突。 只需将代码片段粘贴到 jsbin 中,并使用您的对象名称和将要删除的对象运行代码。 然后,您可以调用您的 read read 函数以确认没有具有该名称的对象。 如果读取返回一个对象,而它不应该,这可能意味着您有多个具有相同名称的对象,并且它返回了其中一个作为 delete delete 函数只删除一个对象。 您可以通过访问您的 parse dashboard parse dashboard 来检查您的对象。 完成了! 到此为止,您已经学习了如何使用 javascript 进行基本的 crud 操作。