我想删除旧的聊天记录,这意味着除了最近的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 }})