Mongodb 如何在Mongo Collection中推送特定用户?
我正在开发Meteor中的一个应用程序,我们称之为Meetup。我已经完成了基本的crud,现在当用户发送会议邀请请求时,我被请求操作绊住了(我使用Mongodb 如何在Mongo Collection中推送特定用户?,mongodb,meteor,Mongodb,Meteor,我正在开发Meteor中的一个应用程序,我们称之为Meetup。我已经完成了基本的crud,现在当用户发送会议邀请请求时,我被请求操作绊住了(我使用accounts passwordpackage来处理auth,如果它有什么意义的话)。我想向meetup的所有者展示哪些用户希望访问此meetup,所以我就是这样设计的: 我在我的模板中创建了一个“加入”按钮,当我在我的控制器中创建这样的事件时,它可以完美地工作: 'click .join': function(event) { var p
accounts password
package来处理auth,如果它有什么意义的话)。我想向meetup的所有者展示哪些用户希望访问此meetup,所以我就是这样设计的:
我在我的模板中创建了一个“加入”按钮,当我在我的控制器中创建这样的事件时,它可以完美地工作:
'click .join': function(event) {
var params = {
user: Meteor.userId(),
username: Meteor.user().username
}
toastr.success('You've send a request');
Router.go('/meetups');
}
<p>{{username}} sent a request to join your meetup</p> <button class="btn-primary btn-xs yes">Ok</button> <button class="btn-danger btn-xs no">No</button>
'click .join': function(event) {
var params = {
user: Meteor.userId(),
username: Meteor.user().username
}
Meteor.call('join', params);
toastr.success('Ok');
Router.go('/meetups');
}
由于我处理此事件获取用户的参数,因此很容易显示其用户名,我的操作如下:
'click .join': function(event) {
var params = {
user: Meteor.userId(),
username: Meteor.user().username
}
toastr.success('You've send a request');
Router.go('/meetups');
}
<p>{{username}} sent a request to join your meetup</p> <button class="btn-primary btn-xs yes">Ok</button> <button class="btn-danger btn-xs no">No</button>
'click .join': function(event) {
var params = {
user: Meteor.userId(),
username: Meteor.user().username
}
Meteor.call('join', params);
toastr.success('Ok');
Router.go('/meetups');
}
如果我使用call
函数,我有一个方法来处理它:
Meteor.methods({
'join': function (params) {
Guests.insert(params);
}
});
我还创建了名为guests
的模板:
<template name="guests">
{{#each guests}}
<p>{{username}} sent a request to join your meetup</p> <button class="btn-primary btn-xs yes">Ok</button> <button class="btn-danger btn-xs no">No</button>
{{/each}}
</template>
{{{每位客人}
{{username}}发送了加入您的会议的请求确定否
{{/每个}}
并像这样将其包含在我的meetups模板中:{{{>guests}
。
你可以理解,因为我看不到用户名。我通过guests
collection使用了一个迭代,并尝试获取username
,因为它在定义一个单独的集合时工作得很好。
所以我的问题是,我怎么才能推送特定的用户(在我的例子中是那些点击了
join
按钮的用户)并显示他们的用户名呢?任何帮助都将不胜感激。此外,您还需要确保您的“加入”方法正确且有效。使用控制台(meteor mongo->db.guests.find().fetch())并进行检查。感谢回复!我的代码var-params={user:Meteor.userId(),username:Meteor.user().username}
的主要问题是没有一个特殊的助手来获取所有来宾-您正在调用2个函数,而只能调用它一次:var-user=Meteor.user();var params={user:user.\u id,username:user.username}
<template name="guests">
{{#each guests}}
<p>{{username}} sent a request to join your meetup</p> <button class="btn-primary btn-xs yes">Ok</button> <button class="btn-danger btn-xs no">No</button>
{{/each}}
</template>