前言
在前端开发中,我们经常需要在数据库中存储数据。Waterline-utils 是一个鱼类 ORM(对象关系映射)工具,它可以让您方便地从 Node.js 应用程序中执行 CRUD 操作。
在本文中,我们将介绍如何使用 waterline-utils。
安装
使用 npm 进行安装 waterline-utils。
npm install --save waterline-utils
使用
下面是一个简单的使用示例,假设您有一个 user 表。
-- -------------------- ---- ------- ----- -------------- - --------------------------- ----- ------- - - ------ - --------- ------- ---------- ---------- ----------- - ---------- --------- --------- -------- - - -- ----- ----- - --- ------------------------ -- ------ ------ --- ------------ - ----- -------------- ---------- ------ --------- ------- --- ----------------------------- -- ---- --- ------- --- ---------- - ----- ------------- ------------------------ -- ------ ------ --- ------------ - ----- -------------- --- --------------- -- - ---------- ----- --- -------------------------- -- ------ ------ --- ------------ - ----- -------------- --- --------------- --- --------------------------
create(values)
创建记录,其中 values
是要创建的记录的属性。
返回一个 Promise,它将解析为一个对象,该对象将具有新创建记录的 id
属性。
let createResult = await utils.create({ firstName: 'Sue', lastName: 'Smith' }); console.log(createResult.id);
find(criteria, populate)
返回一个 Promise,它将解析为包含与查询准则匹配的所有记录的数组。
let findResult = await utils.find(); console.log(findResult);
如果您要对记录进行过滤,则可以使用 criteria
参数。例如,以下示例将返回一个包含具有 firstName
属性等于 "Bob"
的所有记录的数组。
let findResult = await utils.find({ firstName: 'Bob' }); console.log(findResult);
如果您的记录具有外键并需要添加有关其他关联记录的信息,则可以使用 populate
参数。例如,以下示例将返回包含具有 firstName
属性等于 "Bob"
和他们的所有帖子的记录的数组。
let findResult = await utils.find({ firstName: 'Bob' }, 'posts'); console.log(findResult);
update(criteria, values)
更新符合条件的所有记录,并将它们的属性设置为 values
。
返回一个 Promise,它将解析为对象,其中包含受影响的记录数。
let updateResult = await utils.update({ id: createResult.id }, { firstName: 'Bob' }); console.log(updateResult);
delete(criteria)
删除符合条件的所有记录。
返回一个 Promise,它将解析为对象,其中包含受影响的记录数。
let deleteResult = await utils.delete({ id: createResult.id }); console.log(deleteResult);
总结
在本文中,我们介绍了如何使用 Waterline-utils 进行 CRUD 操作。它提供了一个简单的 API,并且易于学习和使用。现在,您可以尝试在您的项目中使用它来管理数据库记录。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/67369