gpt4 book ai didi

node.js - Mongojs:通过排序和跳过删除

转载 作者:行者123 更新时间:2023-12-02 21:12:42 26 4
gpt4 key购买 nike

我无法找到任何有关如何执行此操作的文档或示例,但肯定这是可能的。基本上,我想保留 20 条最近的记录。我想按日期(降序)排序,跳过 20 个,然后删除剩余的内容。

最佳答案

您可以分两步完成 - 1,存储最近 20 个 _id,然后 2,使用 $nin 执行 remove >。示例代码如下,您可以在我的 Saturn Fiddle 上使用它。我使用 number,但显然您可以使用一些 UNIX 时间戳来达到您的目的。

// Welcome to SaturnAPI!
// Start collaborating with MongoDB fiddles and accomplish more.
// Start your code below these comments.

// Create a new collection
var Posts = new Mongo.Collection(null);

//Insert some data
Posts.insert({
number: 1,
author: "Saturn Sam",
message: "Hello!"
});
Posts.insert({
number: 2,
author: "Saturn Sam2",
message: "Hello!"
});
Posts.insert({
number: 3,
author: "Saturn Sam3",
message: "Hello!"
});

var recent = Posts.find({number: {$gte: 2}}).fetch().map(function (thisPost) {
return thisPost._id;
});

// Remove all but recent
Posts.remove({_id: {$nin: recent}});

// Returns all remaining records
Posts.find({}).fetch()

关于node.js - Mongojs:通过排序和跳过删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32577303/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com