英文:
Reverse mapping in aerospike
问题
我在aerospike中有一些记录,其键值对如下:
键:"1234"
值:{
"XYZ":{
"B":[1,3],
"C":[3,4]
}
}
键:"5678"
值:{
"XYZ":{
"B":[1,3,5],
"C":[3,4]
}
}
我想从集合中获取所有包含字段"B"的JSON值中包含3的键。在golang中有没有办法查询所有这样的键?
英文:
I have a few records in aerospike in following key-value pair :
Key : "1234"
Value : {
"XYZ":{
"B":[1,3]
"C":[3,4]
}
}
Key : "5678"
Value : {
"XYZ":{
"B":[1,3,5]
"C":[3,4]
}
}
I want to get all the keys from set where field "B" in json value contains let say 3. Is there any way to query all such keys in golang ?
答案1
得分: 4
是的,你可以在键为"B"的映射值上构建一个二级索引,然后运行一个二级索引查询来获取所有匹配的记录。
你可以使用等效的API在Go语言中进行相同的操作。
在这里有许多Java交互式代码示例:https://developer.aerospike.com/tutorials/java/cdt_indexing
例如,这是一个顶层示例,其中包含字符串值:
然后还有另一个示例,你可以在嵌套的子级上构建一个二级索引:
英文:
Yes, you can build a secondary index on the values in map key "B" ... at that nested level and then run a secondary index query to get all matching records.
You can do the same in Go using equivalent APIs.
Many Java interactive code examples at: https://developer.aerospike.com/tutorials/java/cdt_indexing
For example, this is top level example with string values:
Then another example where you can build a SI on nested sublevel:
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论