我正在尝试从我的Swift Realm数据库中获取随机记录。
我以前在mongoDB中使用过sample
函数,所以我认为在Realm中一定有一个等价的函数(它基于mongoDB,对吗?)
我找不到任何关于这样一个函数的文档,我只找到了建议获取整个集合然后选择一个随机记录[ 1,2 ]的搜索结果。
我错过了什么明显的,有没有更好的方法呢?
下面是一个mongoDB查询示例:
db.Words.aggregate([
{ $match: { gender: gender } },
{ $sample: { size: 1 } }
])
1条答案
按热度按时间pbossiut1#
为清楚起见,问题中的代码不是本地或同步的Realm Swift SDK的一部分,但它是使用应用程序服务直接查询Atlas的一部分,因此它对非同步或非本地应用程序有效。(如果可能,请使用Swift SDK!)
如果我们使用SDK执行此操作,则实际上可以利用高级Swift函数使用
.randomElement()
返回结果假设一个PersonClass具有name属性
我们可以使用这段代码从Realm返回一个随机的人,并将他们的名字输出到控制台