我正在将 adonis.js / lucid ^ 6.1.3 与 lucid-mongo ^ 3.1.5 库一起使用来管理mongodb数据库。我需要建立一个查询并筛选hasMany关系,但它引发异常无法读取未定义的属性'collectionName'
我创建了一个名为User的模型,然后提供了一个称为session的关系,该关系必须返回所有用户会话(移动或Web会话)。我使用了adonis.js透明关系中描述的方法来查询关系数据
return await user.sessions().where({
'logged_in_at': { $type: 10 },
'logged_out_at': { $type: 10 }
}).where('tries', '<', 3).firstOrFail();
预期输出应该是会话文档(行),但这是它抛出的异常。无法读取未定义的属性'collectionName'
答案 0 :(得分:0)
firstOrFail是一个 static 方法,我相信这意味着您不能在查询生成器中使用它(我可能是错的)。相反,我会尝试一些类似的方法
return await user.sessions().where({
...
}).andWhere('tries', '<', 3').first()
首先是查询构建器上的帮助方法,在将查询构建器与透明模型一起使用时,必须调用fetch。
编辑:出于某种原因,在Adonis文档中,它将find和first / firstOrFail标记为静态,但不是。 reference