我想删除旧的聊天记录,这意味着除了最近的10条记录之外的所有记录。

这是我获取最新消息的方法:

collection.find({"chatroom" : chatroom}).limit(10).sort({ time: -1 })


如何删除其他所有内容?

谢谢。

最佳答案

您可以执行查询以获取第10个最旧的查询,然后删除比该编号更早的查询。

var oldest = find({"chatroom" : chatroom}).limit(1).skip(10).sort({ time: -1 }).next();
remove({"chatroom" : chatroom, time : {$lt : oldest.time }})

09-25 11:42