Meteor mongo find两次呼叫铁路由器
我有一个路由器被调用两次,如果我执行一些查找。如果我删除find语句,路由器只调用一次(这是我在另一种情况下所期望的) 路由器配置:Meteor mongo find两次呼叫铁路由器,meteor,Meteor,我有一个路由器被调用两次,如果我执行一些查找。如果我删除find语句,路由器只调用一次(这是我在另一种情况下所期望的) 路由器配置: Router.onBeforeAction(function() { console.log("ROUTE!"); if (!Meteor.userId()) { Router.go("login"); } else { this.next(); } }, { except: ['login'
Router.onBeforeAction(function() {
console.log("ROUTE!");
if (!Meteor.userId()) {
Router.go("login");
} else {
this.next();
}
}, {
except: ['login', 'signup']
});
我的路线:
Router.route("/", function() {
this.subscribe("games");
var lastDay = Games.findOne({}, {sort: {createdAt: -1}});
console.log(lastDay);
this.render("stats", {
data: function() {
return {
games: Games.find()
};
}
});
}, { name: "stats" });
使用lastDay find,路线被调用两次。第一次未定义结果,第二次得到正确的对象。
删除lastDay语句后,路由器工作正常
更新:试图在助手console.log中完成findOne,但它也调用了两次!第一次未定义,第二次为对象。尝试返回结果,而不是存储在变量中
Router.route("/", function() {
this.subscribe("games");
this.render("stats", {
data: function() {
return {
games: Games.find({$gt:Games.findOne({}, {sort: {createdAt: -1}}).createdAt})
};
}
});
}, { name: "stats" });
尝试返回结果,而不是存储在变量中
Router.route("/", function() {
this.subscribe("games");
this.render("stats", {
data: function() {
return {
games: Games.find({$gt:Games.findOne({}, {sort: {createdAt: -1}}).createdAt})
};
}
});
}, { name: "stats" });
修正了使用waitOn订阅的问题
Router.route("/", {
name: "stats",
waitOn: function() {
return Meteor.subscribe("games");
},
action: function() {
var lastDay = Games.findOne({}, {sort: {createdAt: -1}});
this.render("stats", {
data: function() {
return {
games: Games.find()
}
}
});
}
});
修正了使用waitOn订阅的问题
Router.route("/", {
name: "stats",
waitOn: function() {
return Meteor.subscribe("games");
},
action: function() {
var lastDay = Games.findOne({}, {sort: {createdAt: -1}});
this.render("stats", {
data: function() {
return {
games: Games.find()
}
}
});
}
});
尝试返回{games:games.find(),lastDay:games.findOne({},{sort:{createdAt:-1}}})@是的,这很有效。但是我希望最后一天的结果在我的游戏中使用它:games.find()。尝试返回{games:games.find(),最后一天:games.findOne({},{sort:{createdAt:-1}}})@是的,这很有效。但是我想在我的游戏中使用最后一天的结果:games.find()。我不能。我假装在游戏中使用createdAt$gte进行查找。更新:尝试在助手中进行查找,但它也调用了两次!第一次未定义,第二次对象。第二次。。。这就像搜索一次,有什么东西改变了它,正确的数据就会产生反应。但是有什么变化呢?尝试获取waitOn上的数据,当它准备好传递给renderWell时,我修复了它,将订阅放入waitOn。。。检查我自己的修复,我不能。我假装在游戏中使用createdAt$gte进行查找。更新:尝试在助手中进行查找,但它也调用了两次!第一次未定义,第二次对象。第二次。。。这就像搜索一次,有什么东西改变了它,正确的数据就会产生反应。但是有什么变化呢?尝试获取waitOn上的数据,当它准备好传递给renderWell时,我修复了它,将订阅放入waitOn。。。检查我自己的修复。