如何限制rethinkdb中的项目
how put limit to items in rethinkdb
我在 rethinkdb 中有 table,它有很多字段和项目,我想获取这个 table 的所有数据,但对于项目,我只想要最后 2 条记录:查看结果和查询
r.db('db').table('table1').filter(function(opentb1){
return openTb1('chat').match('(user_273_1|user_1_273)')
})
并展示它:
{
"adm": "1" ,
"chat": "user_273_1" ,
"id": "09ce2adc-9d49-4830-9fb6-fb7159f92d08" ,
"msg": [
{
"date": "2016-07-20T01:43:06.302Z" ,
"id": "4e1d85e0-4e1b-11e6-bb9f-2bb985f41f5d" ,
"msg": "sgzsrgz" ,
"nick": "SonickSeven" ,
"user": "1"
} ,
{
"date": "2016-07-20T01:43:08.832Z" ,
"id": "4f9f9200-4e1b-11e6-bb9f-2bb985f41f5d" ,
"msg": "egser" ,
"nick": "SonickSeven" ,
"user": "1"
} ,
{
"date": "2016-07-20T01:43:55.233Z" ,
"id": "6b47cd10-4e1b-11e6-bb9f-2bb985f41f5d" ,
"msg": "sergse" ,
"nick": "SonickSeven" ,
"user": "1"
}
],
"optChat": [
{
"height": 0 ,
"minizar": true ,
"position": false ,
"user": "1" ,
"user2": "273" ,
"width": 0 ,
"x": 0 ,
"y": 0
}
]
}
但我希望只显示子字段中的最后 2 个项目:"msg" 显示类似的项目:
{
"adm": "1" ,
"chat": "user_273_1" ,
"id": "09ce2adc-9d49-4830-9fb6-fb7159f92d08" ,
"msg": [
{
"date": "2016-07-20T01:43:08.832Z" ,
"id": "4f9f9200-4e1b-11e6-bb9f-2bb985f41f5d" ,
"msg": "egser" ,
"nick": "SonickSeven" ,
"user": "1"
} ,
{
"date": "2016-07-20T01:43:55.233Z" ,
"id": "6b47cd10-4e1b-11e6-bb9f-2bb985f41f5d" ,
"msg": "sergse" ,
"nick": "SonickSeven" ,
"user": "1"
}
],
"optChat": [
{
"height": 0 ,
"minizar": true ,
"position": false ,
"user": "1" ,
"user2": "273" ,
"width": 0 ,
"x": 0 ,
"y": 0
}
]
}
我怎么可能,我已经在互联网上搜索过这个解决方案,但我什么都不匹配
您可以在查询的末尾添加 .merge(function(row) { return {msg: row('msg').slice(-2)}; })
。
我在 rethinkdb 中有 table,它有很多字段和项目,我想获取这个 table 的所有数据,但对于项目,我只想要最后 2 条记录:查看结果和查询
r.db('db').table('table1').filter(function(opentb1){
return openTb1('chat').match('(user_273_1|user_1_273)')
})
并展示它:
{
"adm": "1" ,
"chat": "user_273_1" ,
"id": "09ce2adc-9d49-4830-9fb6-fb7159f92d08" ,
"msg": [
{
"date": "2016-07-20T01:43:06.302Z" ,
"id": "4e1d85e0-4e1b-11e6-bb9f-2bb985f41f5d" ,
"msg": "sgzsrgz" ,
"nick": "SonickSeven" ,
"user": "1"
} ,
{
"date": "2016-07-20T01:43:08.832Z" ,
"id": "4f9f9200-4e1b-11e6-bb9f-2bb985f41f5d" ,
"msg": "egser" ,
"nick": "SonickSeven" ,
"user": "1"
} ,
{
"date": "2016-07-20T01:43:55.233Z" ,
"id": "6b47cd10-4e1b-11e6-bb9f-2bb985f41f5d" ,
"msg": "sergse" ,
"nick": "SonickSeven" ,
"user": "1"
}
],
"optChat": [
{
"height": 0 ,
"minizar": true ,
"position": false ,
"user": "1" ,
"user2": "273" ,
"width": 0 ,
"x": 0 ,
"y": 0
}
]
}
但我希望只显示子字段中的最后 2 个项目:"msg" 显示类似的项目:
{
"adm": "1" ,
"chat": "user_273_1" ,
"id": "09ce2adc-9d49-4830-9fb6-fb7159f92d08" ,
"msg": [
{
"date": "2016-07-20T01:43:08.832Z" ,
"id": "4f9f9200-4e1b-11e6-bb9f-2bb985f41f5d" ,
"msg": "egser" ,
"nick": "SonickSeven" ,
"user": "1"
} ,
{
"date": "2016-07-20T01:43:55.233Z" ,
"id": "6b47cd10-4e1b-11e6-bb9f-2bb985f41f5d" ,
"msg": "sergse" ,
"nick": "SonickSeven" ,
"user": "1"
}
],
"optChat": [
{
"height": 0 ,
"minizar": true ,
"position": false ,
"user": "1" ,
"user2": "273" ,
"width": 0 ,
"x": 0 ,
"y": 0
}
]
}
我怎么可能,我已经在互联网上搜索过这个解决方案,但我什么都不匹配
您可以在查询的末尾添加 .merge(function(row) { return {msg: row('msg').slice(-2)}; })
。