Rethinkdb 仅查询子数组
Rethink DB Query for sub array only
假设我在 table 中有一个对象称为警报,例如
{ id:"1"
history:[ {
date:"some date"
hid:"1234"
},
{
date:"some date"
hid:"1234"
}
]
}
{ id:"2"
history:[ {
date:"some other date"
hid:"1235"
},
{
date:"some date"
hid:"1234"
}
]
}
我想要一个仅包含所有警报的历史对象的数组。如果我使用诸如
之类的 pluck
r.db("irrelevant").table("alerts").pluck("history")
我最终得到的是整个结构都带有括号,只是没有 id。喜欢
{
history:[{hid:123,date:"some date"}{hid:123,date:"some date"}]
},
{
history:[{hid:123,date:"some date"}{hid:123,date:"some date"}]
}
当我想要的是
[{hid:123,date:"some date"},{hid:123,date:"some date"},{hid:123,date:"some date"},{hid:123,date:"some date"}]
我专门在 go 中执行此操作,但如果我能找到 RethinkDB javascript 查询,我可能会将其转换为 go
您需要使用concatMap命令
r.db("irrelevant").table("alerts").concatMap(r.row.getField('history'))
假设我在 table 中有一个对象称为警报,例如
{ id:"1"
history:[ {
date:"some date"
hid:"1234"
},
{
date:"some date"
hid:"1234"
}
]
}
{ id:"2"
history:[ {
date:"some other date"
hid:"1235"
},
{
date:"some date"
hid:"1234"
}
]
}
我想要一个仅包含所有警报的历史对象的数组。如果我使用诸如
之类的 pluckr.db("irrelevant").table("alerts").pluck("history")
我最终得到的是整个结构都带有括号,只是没有 id。喜欢
{
history:[{hid:123,date:"some date"}{hid:123,date:"some date"}]
},
{
history:[{hid:123,date:"some date"}{hid:123,date:"some date"}]
}
当我想要的是
[{hid:123,date:"some date"},{hid:123,date:"some date"},{hid:123,date:"some date"},{hid:123,date:"some date"}]
我专门在 go 中执行此操作,但如果我能找到 RethinkDB javascript 查询,我可能会将其转换为 go
您需要使用concatMap命令
r.db("irrelevant").table("alerts").concatMap(r.row.getField('history'))