How to perform Realm count query

匿名 (未验证) 提交于 2019-12-03 08:41:19

问题:

How can I do a count query on Realm?

for example this is my model

class Dog: Object {   dynamic var name = "" } class Person: Object {   dynamic var name = ""    let dogs = List<Dog>() } 

I want to fetch all persons with at least one dog something like

Realm().objects(Person).filter("dogs.@count > 0") 

but @count isn't supported as i understand

回答1:

Yes, Realm still does not support .@count query. You can work around that you modify the Person model to have a count property. Then you update the count property when you append a dog object to the dogs array.

This feature request is tracked by Issue #1166 https://github.com/realm/realm-cocoa/issues/1166

Update

Realm supports @count and other collection queries from v0.96.



回答2:

The syntax for the new aggregate expressions (@count, @min, @max, @sum, @avg) for Results and List looks like this:

realm.objects(Person.self).filter("dogs.@count > 0") 


标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!