我試圖在我的express.js應用程式中使用@casl/mongoose與mongoose-paginate-v2,但問題是兩個庫必須在model物件上使用。
// trying this
const results = await Person >。
.accessibleBy(req['ability'])
.paginate({}, options)。
//或這樣,同樣的問題。
const results = awaitPerson
.paginate({}, options)
.accessibleBy(req['ability')。
在這兩種方式中,我得到的都是accessibleBy/paginate不是一個函式,因為正如我所說的,這兩個lib必須用在模型(在我的例子中是Person)物件上。
非常感謝您的任何幫助或建議。
uj5u.com熱心網友回復:
@casl/mongoose支持mongoose的靜態和查詢方法。所以,你可以這么做:
Person.findOne({ _id: id })。 accessibleBy(ability).where({ createdAt: {$lt: new Date() }。})
//or
Person.accessibleBy(ability).findOne({ _id: id })。 where({ createdAt: { $lt: new Date() }。})
同時,分頁插件只支持靜態方法,因為它向資料庫發送了多個查詢,所以(可能)不可能實作你想要的東西。你可以和那個包的作者談談,讓他在這方面做些什么,或者自己寫一個分頁插件
。轉載請註明出處,本文鏈接:https://www.uj5u.com/net/331072.html
標籤:
