0
我是Meteor和Angular 2的新手,我很努力地列出客戶端的所有用戶。據我瞭解,我要發表我的服務器上,並且訂閱我的客戶,我做了以下方法上:Meteor Angular獲取所有用戶
users.ts
import {Meteor} from 'meteor/meteor';
Meteor.publish('usersList', function() {
console.log('Publish from server ');
return Meteor.users.find({_id: {$ne: Meteor.userId()}});
});
然而,這並不甚至稱。我正在導入這個文件在我的main.ts。我不確定我應該如何發佈它們才能獲得所有用戶。
我按照Meteor-Angular2 tutorial創建了另一個集合。該文件如下: wishes.ts
import {Meteor} from 'meteor/meteor';
import {Wishes} from '../../../both/collections/wishes.collection';
Meteor.publish('wishList', function() {
console.log("wishlist "+this.userId);
return Wishes.find(buildQuery.call(this));
});
function buildQuery(): Object {
const isAvailable = {
$and: [{
owner: this.userId
}, {
owner: {
$exists: true
}
}]
}
return isAvailable;
}
我把它在我的main.ts服務器,它是工作。我不知道爲什麼其中一個文件被調用,爲什麼另一個不是。任何方向將不勝感激!
不幸的是,客戶端中的Meteor.users.find({})(在訂閱'userList'之後)僅返回當前登錄的用戶。 –
客戶端將從服務器Meteor.users.find({})接收用戶,如果您創建客戶端可訪問的這些用戶的集合,或直接向客戶端發送消息。 如果您在客戶端使用Meteor.users.find({}),它將返回您的當前用戶,因爲它不知道其他用戶:)。 –