javascript - Strongloop:隐藏 PersistedModel 上的默认方法

标签 javascript mongodb strongloop

我有一个模型定义为 PersistedModel ,因此与 mongodb 集合相关。我想实现以下目标:

  1. 要隐藏的默认 crud 方法
  2. 公开并映射到路线上的自定义远程方法 GET / (默认为 myModel.find())

到目前为止,我无法同时满足这两个要求:如果我将模型设置为公共(public),它会附带映射在标准路由上的整套内置方法,如果我将其设置为非-公开甚至我的自定义 Remote 也被隐藏。

最佳答案

您正在寻找的功能是:

MyModel.disableRemoteMethod(name, [isStatic])

这里是API docs .

不幸的是,您需要单独禁用每个方法......

另一种解决方案是创建两个不同的模型,一个是公共(public)的,一个不是(您可以在 server/model-config.json 中将 Public bool 值更改为 false文件。您不需要将“公共(public)”模型附加到数据源。

"MyPublicModel": {
  "dataSource": null,
  "public": true
},
"MyPrivateModel": {
  "datasource": "db",
  "public": false
}

面向公众的模型将是基类Model,而非公共(public)模型仍将是一个PersistedModel,且不暴露任何端点。您可以通过调用 MyPublicModel.js 文件中的 MyPublicModel.app.models.MyPrivateModel 来访问“Private”模型的功能。

(如果您需要任何说明,请发表评论)。

关于javascript - Strongloop:隐藏 PersistedModel 上的默认方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38700599/

相关文章:

javascript - Model.remove() 根本不起作用

node.js - 在具有 StrongLoop 支持的 Node.js 应用程序中公开垃圾收集器

mongodb - NestJS - 如何使用装饰器创建嵌套模式

javascript - ReactCSSTransitionGroup 不添加类

javascript - TypeScript 和 Socket.io

javascript - 键盘弹起时向上滚动到文本区域

javascript - 将新的卡片对象推送到嵌套的对象数组中

node.js - 用于简单本地存储的 LoopBack/StrongLoop 连接器

loopbackjs - 环回 : Event resetPasswordRequest not called after reset

javascript - Jquery 使用日期选择器计算天数