React native 根据链接对象数组的长度对结果进行排序
考虑使用注释和标记的情况。注释和标记定义为:React native 根据链接对象数组的长度对结果进行排序,react-native,realm,realm-mobile-platform,React Native,Realm,Realm Mobile Platform,考虑使用注释和标记的情况。注释和标记定义为: export class Note extends Realm.Object { public static schema: Realm.ObjectSchema = { name: 'Note', primaryKey: "_id", properties: { _id: "string", text: 'string',
export class Note extends Realm.Object {
public static schema: Realm.ObjectSchema = {
name: 'Note',
primaryKey: "_id",
properties: {
_id: "string",
text: 'string',
date: 'date',
tags: 'Tag[]'
}
}
}
export class Tag extends Realm.Object {
public static schema: Realm.ObjectSchema = {
name: 'Tag',
primaryKey: "name",
properties: {
name: 'string',
notes: {
type: 'linkingObjects',
objectType: 'Note',
property: 'tags'
}
}
}
}
出于标记自动完成的目的,我希望根据标记出现的注释数量(即注释数组的长度)对标记进行排序,直观地说,这意味着能够执行以下语句:
realm.objects('Tag').sorted('notes.@count')
不幸的是,这将导致错误错误:无法对键路径“notes@count”进行排序:属性“Tag.notes”属于不受支持的类型“linking objects”。
对于检索notes中按频率排序的标签,您的建议查询是什么?只是澄清一下;这个问题提到了“频率”,但你的意思是你想按照标签数组中标签的数量对笔记进行排序,对吗?或你想按某种东西对标签进行排序吗?有点让人困惑。抱歉让人困惑。事实上,我想根据标签数组中标签的数量进行排序。我相信您所问的是非常需要但目前不支持的(自2017年起开放)。如果对象的数量很小,那么在代码中这样做就很简单了——记住,一旦您离开纯领域对象,数据就会加载到内存中,并释放其延迟加载特性。如果有帮助的话,我可以迅速提出一个解决方案。哦,另一个简单的解决方案是维护一个单独的属性来跟踪标记的计数。那么分类就非常简单了。@Jay谢谢你的回答。如果你有一个javascript解决方案,那就太好了。