早上好。流星采集观测有点麻烦。
我试着捕捉瞬间,当我的收藏被改变时(添加了recor,删除了.)
问题是,我的观察者“添加”函数不仅在我将文档添加到集合时调用,而且在我运行meteor项目时调用,而meteor系统将已经存在的记录添加到数据库。(它要求从集合中提取每个现有文档)
请帮助我配置我的观察者,我只需要捕捉用户的更改,而不是从启动系统初始化。也许这就是在流星数据库初始化之后服务器端的观察者的方式?
这是我的代码:
/app/藏品/收藏品
groups = new Mongo.Collection('groups');
groups.allow({
insert:function(){
return true;
},
update:function(){
return true;
},
remove:function(){
return true;
}
});/server/观察者/group_observer.js
groups.find().observe({
added: function(document){
console.log('groups observe added value function');
console.log(document);
},
changed:function(new_document, old_document){
console.log('groups observe changed value function');
},
removed:function(document){
console.log('groups observe removed value function');
}
});发布于 2016-04-14 11:51:00
解决这一问题的办法是:
当我将文档添加到集合中时:
groups.insert({
created_by:Meteor.userId(),
created_at: new Date(),
.......
});新的,工作版本的观察者
var now = new Date();
groups.find({created_at : {$gt:now}}).observe({
added: function(document){
console.log('groups observe added value function');
console.log(document);
},
changed:function(new_document, old_document){
console.log('groups observe changed value function');
},
removed:function(document){
console.log('groups observe removed value function');
}
});这里解决了同样的问题:cursor.observe({added}) behavior in Meteor
谢谢@Francesco Pezzella )
https://stackoverflow.com/questions/36621280
复制相似问题