Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当值位于数组或属性中时,让Meteor templatehelper返回true_Meteor - Fatal编程技术网

当值位于数组或属性中时,让Meteor templatehelper返回true

当值位于数组或属性中时,让Meteor templatehelper返回true,meteor,Meteor,在我的HTML中有一个handlebar#if助手,因此我只能向游戏中的第一个玩家显示一些按钮 detailssubmit.html {{#if owner}} show this text {{/if}} 我的游戏收藏: {_id: id, active: true, players: [id, id] owner: id } 在我的助手中,我的所有者函数总是返回false Template.DetailsSubmit.helpers({ details: functi

在我的HTML中有一个handlebar#if助手,因此我只能向游戏中的第一个玩家显示一些按钮

detailssubmit.html

{{#if owner}}
 show this text
{{/if}}
我的游戏收藏:

{_id: id, 
 active: true, 
 players: [id, id]
 owner: id
}
在我的助手中,我的所有者函数总是返回false

Template.DetailsSubmit.helpers({
    details: function()  {
        return GameDetails.find({gameId: this._id})

    },

    owner: function() {
        var game = Games.find({_id: this._id});
        var id = Meteor.userId();
        // #1 try
        return (game.owner === id)
        // #2 try
       return ( _.first(game.players) === id )
    }
})
我错过了什么吗。如果我使用

Games.find().fetch()

因此,可用的数据应该是好的

当您只需要一个文档时,请使用
findOne
而不是
find
<代码>游戏。查找(…)将返回光标,而不是文档

var game=Games.findOne({u-id:this.\u-id});
//或者将此速记-findOne用于字符串参数finds by _id:
var game=Games.findOne(this.\u id);

谢谢。但是如何访问此文档的特定属性。例如,我无法执行game.owner或game.Player[0]。这将导致未定义的错误。那么该集合中没有具有该
\u id的文档。您可以将
console.log(this)
添加到该助手并发布它所说的内容吗?你可能想要
{u id:this.gameId}
?好的。所以console.log(这个)指的是游戏集合,我在路由器的数据函数中设置了它。这可能会产生错误,因为:console.log(this.players)输出正常,但console.log(game.players)会产生错误。但是,参考此。玩家[0]仍然返回一个未定义的错误。您能否发布
console.log(this)
的确切输出?当你说它指的是游戏收藏时,你的确切意思是什么(整个收藏,还是仅仅一个文档?)它指的是一个独特的文档。我不能很好地粘贴在这里。但我已经创建了不同的用户帐户来测试它。游戏集合中的每个文档最多有2个用户,对于第三个玩家控制台。log(this)指的是一个具有唯一_id的唯一文档。在我的路由器中,我已将数据函数设置为:games.findOne(this.params._id),它已设置了此。