在 Meteor 中,我从非 Mongo 源(特别是 IMAP)发布了一个集合。
Meteor.publish("search_results", function(user, password, str) {
var self = this;
res_msg = [];
Imap.connect({... });
Imap.search(str, resultcb);
for (var i = 0; i < res_msg.length; i++) {
self.set("s_results", Meteor.uuid(), {uid: res_msg[i].uid, date: res_msg[i].date, headers:res_msg[i].headers});
}
self.flush();
self.complete();
self.flush();
console.log("total messages : ", res_msg.length);
});
这工作正常。然而,在第二次通过时,新项目被附加到集合中。似乎没有办法从非 Mongo 集合中删除记录。
从文档看来,如果我使用 this.unset,它将更改属性,而不是删除记录。
我不能在客户端或服务器端使用 collection.remove({}) 。