在 RethinkDB 中索引深度嵌套的字段
Indexing deeply nested fields in RethinkDB
给定如下模式:
[
{
"id": 1,
"name": "Darth",
"mylists": [
{
"name": "bucket list",
"items": [
{
"name": "play the harmonica",
"done": false
}
]
},
{
"name": "shopping list",
"items": [
{
"name": "oil",
"done": false
}
]
}
]
},
{
"id": 2,
"name": "Luke",
"mylists": [
{
"name": "bucket list",
"items": [
{
"name": "play the drums",
"done": false
}
]
},
{
"name": "shopping list",
"items": [
{
"name": "milk",
"done": false
}
]
}
]
}
]
如何在项目中的名称上创建索引。以为会是:
.indexCreate('myItems', r.row('mylists')('items')('name'), {multi: true});
也尝试过多次关闭:
.indexCreate('myItems', r.row('mylists')('items')('name'));
但似乎都没有 return 结果?
如果我保持肤浅并尝试以下操作,它会按预期工作:
.indexCreate('myIndex', r.row('mylists')('name'), {multi: true});
结果如下:
.indexCreate('myItems', r.row('mylists')('items').concatMap(function (x) {return x})('name'), {multi:true});
给定如下模式:
[
{
"id": 1,
"name": "Darth",
"mylists": [
{
"name": "bucket list",
"items": [
{
"name": "play the harmonica",
"done": false
}
]
},
{
"name": "shopping list",
"items": [
{
"name": "oil",
"done": false
}
]
}
]
},
{
"id": 2,
"name": "Luke",
"mylists": [
{
"name": "bucket list",
"items": [
{
"name": "play the drums",
"done": false
}
]
},
{
"name": "shopping list",
"items": [
{
"name": "milk",
"done": false
}
]
}
]
}
]
如何在项目中的名称上创建索引。以为会是:
.indexCreate('myItems', r.row('mylists')('items')('name'), {multi: true});
也尝试过多次关闭:
.indexCreate('myItems', r.row('mylists')('items')('name'));
但似乎都没有 return 结果?
如果我保持肤浅并尝试以下操作,它会按预期工作:
.indexCreate('myIndex', r.row('mylists')('name'), {multi: true});
结果如下:
.indexCreate('myItems', r.row('mylists')('items').concatMap(function (x) {return x})('name'), {multi:true});