Meteor 为什么当前用户在使用$ne后也会返回
在服务器上我得到了这个Meteor 为什么当前用户在使用$ne后也会返回,meteor,Meteor,在服务器上我得到了这个 Meteor.publish('allusersbutme', function () { // every except the current use if (Meteor.userId) { return Meteor.users.find({_id: {$ne: Meteor.userId}}, {fields: {profile: 1, 'services.facebook': 1}}); } }); 关于我的客户 Meteor.su
Meteor.publish('allusersbutme', function () {
// every except the current use
if (Meteor.userId) {
return Meteor.users.find({_id: {$ne: Meteor.userId}}, {fields: {profile: 1, 'services.facebook': 1}});
}
});
关于我的客户
Meteor.subscribe('allusersbutme');
Template.discover.helpers(
{
users: function () {
return Meteor.users.find({}).fetch();
}
});
用户助手仍在返回当前用户。如果我
返回Meteor.users.find({u-id:{$ne:Meteor.userId}).fetch()
,这就行了。这有点令人困惑。您不能在发布函数中使用Meteor.userId()
,对吗?我以为你必须使用这个.userId
。此外,Meteor.userId
是一个函数,因此您的查询将确保\u id
是$ne
到函数
。。。我想这永远是真的
Meteor.publish
docs forthis.userId
:你的回答帮助了我。谢谢我使用了这个。userId和Meteor。userId()是一个函数,但我仍然得到了当前用户!。唯一的方法是在客户端上执行此操作。@MurWade,登录用户总是发布到客户端,客户端上的集合将包含所有已发布文档的并集,因此如果您不希望登录用户,您必须始终在客户端上使用{u id:{$ne:Meteor.userId()}
选择器。@PeppeL-G同意。我是在客户机上做的。我只是想让一切保持一致。就像服务器上的所有规则一样。但这并没有伤害到你。谢谢你,马文