我创建了一个包含两个索引的空间--主索引和次要索引:
box.schema.sequence.create('user_seq', { if_not_exists = true })
box.schema.space.create('user', {
if_not_exists = true,
format = {
{ name = 'id', type = 'unsigned'},
{ name = 'bio', type = 'string'}
}
})
box.space.user:create_index('id', {
sequence = 'user_seq',
parts = {'id'}
})
box.space.user:create_index('bio', {
parts = {'bio'},
if_not_exists = true,
unique = false
})插入元组:
tarantool> box.space.user:insert({ box.sequence.user_seq:next(), 'other stuff'})
---
- [1, 'other stuff']
...我试过像这样搜索:
box.space.user:select({'other stuff'})得到了错误:
- error: 'Supplied key type of part 0 does not match index part type: expected unsigned'我应该如何通过二级索引进行搜索?
发布于 2020-09-23 16:28:34
文件上说:
索引-名称是可选的。如果省略,则假定索引是第一个(主键)索引.因此,对于上面的示例,box.space.tester:select({1},{iterator = 'GT'})将通过“主”索引返回相同的两行。
明确使用该辅助索引:
tarantool> box.space.user.index.bio:select({'other stuff'})
---
- - [1, 'other stuff']
...了解更多关于it的信息,在文件里。
https://stackoverflow.com/questions/64032368
复制相似问题