0
我已经开始创建一个小型聊天应用程序,因为即时通讯使用的是mongodb,我开始使用$ slice实现,只在我的聊天记录中获取最新的10条消息。但问题是我无法获取最新的一组数据{10条消息},(每个实例都会发生数据不匹配)。请任何人帮助我。
我已经开始创建一个小型聊天应用程序,因为即时通讯使用的是mongodb,我开始使用$ slice实现,只在我的聊天记录中获取最新的10条消息。但问题是我无法获取最新的一组数据{10条消息},(每个实例都会发生数据不匹配)。请任何人帮助我。
您可能需要使用负值来检索最新的元素。
从$slice文档:
$切片接受若干格式,包括负值和数组参数。考虑以下示例:
db.posts.find({}, { comments: { $slice: 5 } })
此处,$ slice将在评论字段中选择数组中的前五项。
db.posts.find({}, { comments: { $slice: -5 } })
该操作返回数组中的最后五项。
我想获得最新的10组值。 db.posts.find({},{comments:{$ slice:-10}})但即时获取最新的10个值,如果我想获得另一组10个值,则会发生数据不匹配。 –
请您详细说明一下吗? – manetsus
我想先获取10组值,然后在我的聊天记录中需要其他一组10个值,但是--->当我为其他10组值设置时,会发生数据不匹配 –
[限制值的数量在使用MongoDB的字段中](http://stackoverflow.com/questions/34228375/limit-number-of-values-in-a-field-using-mongodb) – styvane