我可以说我是JS的新手,但是掌握了一切的工作原理-但是我最近尝试跳入流星,它似乎只删掉了我难以理解的快捷方式的大部分代码。
一旦流星数据库碰到一定数量的项目(在本例中为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.Method。