Javascript 在一定数量后清空流星数据库/集合?

Javascript 在一定数量后清空流星数据库/集合?,javascript,meteor,Javascript,Meteor,我可以说我是JS新手,但对一切都很了解——但我最近尝试跳入meteor,它似乎只是删掉了大部分我难以理解的快捷方式代码 我试图清空流星数据库的前半部分,一旦它命中一定数量的项目,在本例中为100。我只有: var printOut = MongoDatabase.find().count(); if (printOut > 100) { //delete first 50 entries of the 100 items } 提前感谢首先找到CreationDate的截止日期

我可以说我是JS新手,但对一切都很了解——但我最近尝试跳入meteor,它似乎只是删掉了大部分我难以理解的快捷方式代码

我试图清空流星数据库的前半部分,一旦它命中一定数量的项目,在本例中为100。我只有:

var printOut = MongoDatabase.find().count(); 

if (printOut > 100) {
    //delete first 50 entries of the 100 items
}

提前感谢

首先找到CreationDate的截止日期,然后在该日期之前删除所有:

if (MongoDatabase.find().count() > 100){
  cutoff = MongoDatabase.find({}, {fields: {CreationDate: 1, _id: 0}, sort: {CreationDate: -1 }, limit: 50}).fetch().pop().CreationDate
  MongoDatabase.remove({CreationDate: {$lt: cutoff}})
}
这将在服务器上运行,但如果您尝试直接在客户端上执行此操作,则会出现以下错误:

"Not permitted. Untrusted code may only remove documents by ID. [403]"

因此,如果您需要从客户端触发此操作,使用Meteor.方法将是最好的方法。

首先找到CreationDate的截止日期,然后在该日期之前删除所有:

if (MongoDatabase.find().count() > 100){
  cutoff = MongoDatabase.find({}, {fields: {CreationDate: 1, _id: 0}, sort: {CreationDate: -1 }, limit: 50}).fetch().pop().CreationDate
  MongoDatabase.remove({CreationDate: {$lt: cutoff}})
}
这将在服务器上运行,但如果您尝试直接在客户端上执行此操作,则会出现以下错误:

"Not permitted. Untrusted code may only remove documents by ID. [403]"

因此,如果您需要从客户端触发此操作,使用Meteor.Method将是最好的方法。

根据什么选择“上半部分”?创建日期?你是如何做到这一点的?你在哪里失败了?@Kyll Creation date,但我找不到实际取出收藏中某些不使用“id”的物品的功能“上半部分”根据什么?创建日期?你是如何做到这一点的?你在哪里失败了?@Kyll Creation date但我找不到功能来逐个取出收藏中不使用“id”的某些物品谢谢你,我也找到了这个:非常感谢你,我也找到了这个: