gpt4 book ai didi

javascript - 一次性删除范围记录 - mongodb

转载 作者:行者123 更新时间:2023-12-03 10:57:21 25 4
gpt4 key购买 nike

我想删除 MongoDB 集合的 50% 记录,假设我们要删除最旧的记录。

所以我有这个脚本:

var count = Twitter_tweets.find().count();
var limit = Math.round(count *.5);
var tweets = Twitter_tweets.find().sort({$natural:1}).limit(limit);

_.each(tweets,function(tweet){
Twitter_tweets.delete({_id : tweet._id});
});

但是我使用的是each,因为我不知道如何在一条指令中删除所有记录,而且我在Google上找不到该信息,如何使用MongoDB来实现这一点?

最佳答案

我不确定如何将其准确转换为 Meteor 代码,但这里有一个方法的想法:

var count = Twitter_tweets.find().count();
var limit = Math.round(count * .5);
var tweet = Twitter_tweets.find().sort({_id: 1}).skip(limit).limit(1).fetch()[0];

Twitter_tweets.remove({_id: { $lt: tweet._id } });

这个想法是获取位于集合中间的文档的 _id,然后删除所有具有较低 _id 的文档。除非做了有趣的事情,否则_id通常是一个单调递增的值。

关于javascript - 一次性删除范围记录 - mongodb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28223107/

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