我创建了用户状态,我想按用户名搜索用户状态,
此代码是当前的搜索代码,
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
是否可以使用条件获取用户名?谢谢您的阅读,
答案 0 :(得分:0)
这听起来有些la脚,但是您是否考虑过以200个批次分页结果集?
请参见https://docs.corda.net/api-vault-query.html中的paging: PageSpecification