我想根据州的特定条件进行搜索

时间:2019-06-29 12:52:13

标签: corda

我创建了用户状态,我想按用户名搜索用户状态,

此代码是当前的搜索代码,

val userName = "Bob"
val userstates = proxy.vaultQueryBy<UserState>().states
val results = userstates.filter { it.state.data.userName == userName }

但是,如果用户数超过201,则会发生错误,

在进行线性ID搜索的情况下,我使用了此代码,

val criteria = QueryCriteria.LinearStateQueryCriteria(linearId = listOf(UniqueIdentifier.fromString(userId)), status = Vault.StateStatus.ALL)
val userstates = proxy.vaultQueryBy<UserState>(criteria=criteria).states

是否可以使用条件获取用户名?谢谢您的阅读,

1 个答案:

答案 0 :(得分:0)

这听起来有些la脚,但是您是否考虑过以200个批次分页结果集?

请参见https://docs.corda.net/api-vault-query.html中的paging: PageSpecification