Sails.js Waterline ORM:.findOrCreate() 没有 .populate() 方法

Posted

技术标签:

【中文标题】Sails.js Waterline ORM:.findOrCreate() 没有 .populate() 方法【英文标题】:Sails.js Waterline ORM: .findOrCreate() does not have .populate() method 【发布时间】:2018-01-13 03:47:16 【问题描述】:

我正在与模型协会合作,一切正常。但是,我刚刚注意到 Model findOrCreate() 方法没有populate() 方法:

TypeError: Model.findOrCreate(...).populate is not a function

这是设计使然,如果是,原因是什么?对我来说似乎是一个重要功能。

【问题讨论】:

你能添加完整的代码来展示你是如何尝试的吗? 请假,稍后更新。干杯。 【参考方案1】:

Sails 无法知道是否会找到或创建记录。 在创建记录的情况下,findOrCreate() 方法的作用类似于create() 方法。由于这个方法没有populate()方法,所以findOrCreate()也没有。

【讨论】:

是的,我认为update() 也不允许填充。我不知道内部情况,但由于 findOrCreate()update() 可以返回实际存在的记录,让它返回关联将是一个非常好的速记。做findOrCreate() 然后find().populate() 只是为了获取所有记录似乎是一种浪费。我想这就是答案,我将作为功能请求添加。谢谢!

以上是关于Sails.js Waterline ORM:.findOrCreate() 没有 .populate() 方法的主要内容,如果未能解决你的问题,请参考以下文章

Sails.js 1.0:如何在没有Waterline的情况下连接和使用旧版MySQL数据库?

Sails.Js - 我如何在sails.Js 中进行分页

Sails.js / Waterline - 创建不是模型上的功能

nodejs-ORM 操作数据库中间件waterline的使用

Sails.js + Waterline:通过关联进行多对多

Sails.js/waterline: groupBy + count