本节文档重点介绍 Waterline 提供的开箱即用的模型方法。除了这些方法之外,还可以通过钩子(例如 资源丰富的 PubSub 方法)添加其他方法,或在您的应用程序中手动编写代码来封装可重复使用的自定义代码。
- 有关 Sails/Waterline 中模型的深入介绍,请参阅 概念 > 模型和 ORM > 模型。
- 您可以在 此处找到如何定义模型的示例。
通常,模型方法是异步的,这意味着您不能直接调用它们并使用返回值。相反,您必须使用回调、Promise 或 async/await。大多数内置模型方法接受一个回调作为可选的最后一个参数。如果没有提供回调,则会返回一个可链式调用的查询对象,该对象具有 .fetch()
、.decrypt()
和 .where()
等方法。有关更多信息,请参阅 使用查询。
以下是您在 Sails 中构建 Node.js 应用程序时会遇到的最常见的模型方法。
方法 | 摘要 |
---|---|
.find() |
获取与指定条件匹配的记录数组。 |
.findOne() |
获取与指定条件匹配的记录,如果不存在则返回 undefined 。 |
.updateOne() |
使用指定的 attrName:value 对更新与指定条件匹配的记录(如果存在)。 |
.archiveOne() |
存档(“软删除”)与指定条件匹配的记录(如果存在)。 |
.destroyOne() |
永久且不可逆地销毁与指定条件匹配的记录(如果存在)。 |
.create() |
创建一个包含指定值的新的记录。 |
.createEach() |
同时创建多个新记录。 |
.count() |
统计与某些条件匹配的记录总数。 |
.sum() |
计算给定属性的总和,汇总所有与某些条件匹配的记录。 |
.avg() |
计算属性的算术平均值,对所有与某些条件匹配的记录进行平均。 |
.addToCollection() |
将关联模型中的现有记录添加到您的其中一个集合中。 |
.removeFromCollection() |
从您的其中一个集合中删除记录。 |
这些方法仅仅是开始。要了解有关 Sails 中可用模型方法的更多信息,请查看侧边栏中的完整参考。
sails.models
如果您需要在 Sails 中禁用全局变量,您仍然可以使用 sails.models.<model_identity>
来访问您的模型。
不确定您的模型的
identity
?请参阅 概念 > 模型和 ORM > 模型设置。
req
)
res
)