我正在编写一个与API通信的应用程序,并将响应存储在Meteor Collection中,这样我就可以使用mongo进行排序/过滤。
我想清除每个新结果集的集合。但是Meteor Collection是持久的。
清除收藏品的首选方式是什么?我知道你可以放弃流星集合,但这是首选的方法吗?
帮助表示感谢。谢谢!
答案 0 :(得分:2)
我会创建一个本地mongo集合,仅在客户端提供。要创建客户端集合,只需不要给它命名参数。
//This collection is client-only, and will not be sync with server
myCollection = new Mongo.Collection();
//To be more explicit, you can use `null` for the name:
myCollection = new Mongo.Collection(null);
完成后使用数据清空集合
myCollection.remove({});
答案 1 :(得分:1)
myCollection.remove({})
是从集合中删除所有文档的语法。除非根据@ Nakib的示例集合是客户端集合,否则这只能在服务器上运行。否则,文档只能由客户端的_id
删除。通常,您的允许/拒绝规则应该阻止任何在客户端上删除任何内容的尝试,因为它提供了很好的攻击媒介。
答案 2 :(得分:-2)
不完全熟悉Meteor最佳实践,但如果您要在javascript中清除数组,最佳做法是运行以下内容。
myArrary.length = 0;
有关更多信息,我建议使用blog post by David Walsh,详细说明将数组清零后的原因如下:
将长度设置为零会清空现有阵列,而不是 创建另一个数组!这有助于您避免指针问题 数组也是如此。