定义一个函数在Meteor中匹配文档数组元素和文档值

Defining a Function to Match document array element to document value in Meteor

本文关键字:文档 数组元素 Meteor 函数 一个 定义      更新时间:2023-09-26

我一直在一个流星web应用程序上工作。我插入了一个文档到MongoDB。

questionsList.insert({ask: "When was the War of 1812", answer: "1812", possAnsw: ["1811", "1812", "1819", "1820", "1840"]})

我希望有一个功能匹配,当一个人从可能的答案中选择正确的答案。问题是我很难访问一个值并将其与特定的<li>标记匹配。

伪代码:

if (li.currentTarget == questionList.find({answer: 1}).fetch() {
       $(li.currentTarget).css("background-color", "yellow");
}

基本上,只有当我点击正确的答案时,它才会高亮显示:

Template.questions.events({
      'click .answers':function(li) {
        $(li.currentTarget).css('background-color', "yellow").css("width", "fit-content");
      }
    });

现在,它突出显示每个<li>元素,无论它是否匹配正确答案(即:"问")。问题是我似乎找不到如何获得"ask"键的值并将其与li. currentttarget匹配。

我看了以下几篇文章,但都无济于事:

从mongoDB数组中获取特定元素

只检索MongoDB集合中对象数组中查询的元素

如果我得到你的问题正确,基本上当用户点击问题的答案,服务器将检查它是否是正确的答案。所以,我认为你应该问的是问题而不是答案

var currentQuestionObject = questionList.find({ask: "When was the war of 1812?"}).fetch()
if (li.currentTarget == currentQuestionObject.answer) {
   $(li.currentTarget).css("background-color", "yellow");
}