我想限制Rethinkdb查询中嵌套对象的数量.假设我有嵌套消息的对话.
[交谈]
[{
id: "fgh675",
name: "Some conversation",
messages: [{
id:"jhu432",
contents: "Hello world!",
createdAt: "2016-01-01 00:01:01"
},
{
id:"bgj876",
contents: "Hello earth",
createdAt: "2016-01-01 00:01:01"
}]
}]
>我如何限制消息对象的数量?
>事件更好,我怎么能写一个只返回最后一条消息的查询.merge(function(c){return {msg:c(“messages”).slice(-1)};}),但我找不到如何首先订购消息…(如果有很多消息,该查询是否有效)?
最佳答案 限制可以限制消息的数量:
conversations.merge(conversation => {
messages: conversation('messages').limit(3)
})
orderBy可用于对数组进行排序:
conversations.merge(conversation => {
messages: conversation('messages').orderBy('createdAt')
})
如果对每个查询对消息进行排序,则存储已排序的消息列表可能更有效.