【发布时间】:2014-07-25 22:45:44
【问题描述】:
希望我在这里的第一个问题不是愚蠢的。 假设我们想用流星构建一个聊天应用程序,有登录用户和匿名用户。聊天应该这样填写:
var post = {
userId: user._id, // is empty if anonymous user
submitted: new Date().getTime(),
text: chat_message
});
var postId = Posts.insert(post);
发布可能看起来像这样,以确保 userId 没有被转移
Meteor.publish('getTheChat', function() {
return Post.find({}, {fields: {userId: false});
});
但是有没有办法在返回的集合中动态添加一个字段?
不应发布 userId,而应发布类似 "Your_Post"、"another_logedin_user" 或 "an_anonymous_user" 的状态。有了它,我可以包含一些 CSS,所以聊天看起来有点像 WhatsApp 或 iMessage。
发布方法内部的逻辑可能类似于
if (userId == this.userId) {
status = "Your_Post";
} else if (userId != null) {
status = "another_logedin_user";
} else {
status = "an_anonymous_user";
}
你看,当不同用户调用时,发布应该包含不同的值。 Meteor.publish 有办法吗?
感谢您的任何见解或建议
【问题讨论】:
标签: meteor