2013-10-24 13 views
7

Tôi biết câu hỏi này đã được hỏi nhiều lần nhưng tôi gặp khó khăn khi xuất bản thông tin này.Xuất bản các trường Meteor.user tùy chỉnh()

Trong Accounts.onCreateUser Tôi thêm một lĩnh vực như vậy

{ 
... 
user['info'] = { email: options.email, is_admin: false}; 
} 

tôi công bố thông tin này;

Meteor.publish('user', function() { 
    return Meteor.users.find({}, { fields: { info: 1} }); 
} 

Meteor.subscribe('user'); 

Sau khi gỡ lỗi Xuất bản truy vấn trả về thông tin chính xác nhưng điều đó không bao giờ được trao cho các khách hàng khi tôi cố gắng để truy cập Meteor.user(). Tôi có phải làm điều gì khác để cho phép thông tin được truy cập bởi Meteor.user() không?

Mọi đề xuất?

Trả lời

18

Bạn sẽ muốn sử dụng null để xuất bản cho một người dùng.

Meteor.publish(null, function() { 
    return Meteor.users.find({_id: this.userId}, {fields: {info: 1}}); 
}); 
+2

Hãy tha thứ cho sự mới lạ của thiên thạch nhưng bạn có thể giải thích hoặc cung cấp bất kỳ tài liệu tham khảo tài liệu hoặc hướng dẫn nào để sử dụng null làm tên xuất bản không? Là một đăng ký cần thiết hoặc các giá trị bây giờ sẽ được tự động hiển thị trong đối tượng người dùng hiện tại? Cảm ơn! – shawnim

+1

Không cần đăng ký - xuất bản null có nghĩa là 'autopublish' (không bị nhầm lẫn với gói Meteor có tên autopublish). http://support.kadira.io/knowledgebase/articles/379961-what-is-null-autopublish-publication –

Các vấn đề liên quan