我正在使用帐户-google包来注册用户。
我有多个用户存储在mongo中。
db.users.find()
{ "_id" : "av8Dxwkf5BC59fzQN", "profile" : { "avatar" : "https://lh3.googleusercontent.com/-rREuhQEDLDY/AAAAAAAAAAI/AAAAAAAADNs/x764bovDfQo/photo.jpg", "email" : "lfender6445@gmail.com", "name" : "Luke Fender", "room" : "2" }, "services" : { "resume" : { "loginTokens" : [ { "when" : ISODate("2014-04-26T19:34:52.195Z"), "hashedToken" : "8na48dlKQdTnmPEvvxBrWOm3FQcWFnDE0VnGfL4hlhM=" } ] } } }
{ "_id" : "6YJKb7umMs2ycHCPx", "profile" : { "avatar" : "https://lh3.googleusercontent.com/-rREuhQEDLDY/AAAAAAAAAAI/AAAAAAAADNs/x764bovDfQo/photo.jpg", "email" : "lfender6445@gmail.com", "name" : "Luke Fender", "room" : "2" }, "services" : { "resume" : { "loginTokens" : [ { "when" : ISODate("2014-04-26T19:35:00.185Z"), "hashedToken" : "d/vnEQMRlc4VI8pXcYmBvB+MqQLAFfAKsKksjCXapfM=" } ] } } }但是Meteor.users.find().fetch()只返回登录用户的文档--难道不应该返回整个集合吗?默认情况下,其他用户是否是私有的?
发布于 2014-04-26 20:00:14
这是默认行为。你只能看到你登录的是谁。
您可以使用自定义发布函数来发布自定义子集/所需的内容。在下面的示例中,我发布了所有用户(只有配置文件字段)。
服务器端代码
Meteor.publish('users', function() {
return Meteor.users.find({}, {fields:{profile: true}});
});客户端代码
Meteor.subscribe("users");您可能希望将这些更改为只发布与用户相关的内容。如果您有100多个用户,那么将所有用户都发布到客户端就会变得很浪费。
https://stackoverflow.com/questions/23315648
复制相似问题