2016-04-14 35 views
1
class Question: Object { 
    var answers = List<Answer>() 

} 

class Answer: Object { 

    dynamic var date: NSDate? = nil 
    dynamic var question: Question! 
    dynamic var correct = false 

} 

我有一個數據庫充滿了Questions。當用戶回答問題時,將創建一個Answer對象,其中包含今天的日期以及答案是否正確。 有了Realm,是否可以做一個查詢,找到正確答案最少的數據庫中的問題?如何在Realm中查詢相關對象的屬性?

我試着用

realm.objects(Question).filter("[email protected] == @min AND answers.correct == true") 

但聚合函數不能與其它聚合函數組合,似乎@count@min不能在同一個查詢中使用。

回答

1

目前,沒有簡單的方法來查詢您想要得到的結果。

簡單的解決方案是添加count屬性爲Question對象的正確答案。

class Question: Object { 
    let answers = List<Answer>() 
    dynamic var correctAnswerCount = 0 
} 

然後,您可以查詢正確答案數量最少的問題。

let fewest = realm 
    .objects(Question) 
    .sorted("correctAnswerCount", ascending: true).first 
相關問題