我一直在搞流星7.1.1。只需要一些健全性检查,
所以基本上..
if (Meteor.isServer) {
console.log("Count Server No: "+ Meteor.users.find().count());
Meteor.publish("directory", function () {
return Meteor.users.find();
});
}
// server side results in Count Server No: 1
if (Meteor.isClient) {
Meteor.subscribe("directory");
console.log("Count Client No: " + Meteor.users.find().count());
}
// client returns Count Client No: 0
我已经看到了各种教程和其他可能的路线,但似乎有多种方法可以做到这一点。如果有人可以指出。将不胜感激。PS希望这对某人有所帮助。
客户端和服务器上的集合不会在订阅后立即同步,而是在后台异步同步。订阅对象有一个函数ready()
如果初始一批数据已发送到客户端,则返回true
。
此外,订阅可以在定义onReady
和onError
事件期间进行回调。例如,仅提供 onReady 处理程序:
Meteor.subscribe("directory", function () {
alert('Count = ' + Meteor.users.find().count());
});
应显示正确的用户数。