从mongoDB获取字段值并分配给var给出未定义

Get field value from mongoDB and assign to a var gives undefined

本文关键字:var 未定义 分配 mongoDB 获取 字段      更新时间:2023-09-26

我正在使用MeteorJS并试图从MongoDB获取字段的值并分配给变量。但是当想要打印到控制台时,它总是给出'undefined'。它在HTML模板中工作得很好,但我需要将值存储在.js文件中的var中。

var num = ButtonsList.find({_id:'ZcLkjSwNGTpgHkoeq'});
    var n = num.button1;
    console.log("button number is: "+n);
如果我想让它们在浏览器中输出,下面的代码可以正常工作。它使用{{}}命名空间在html中输出按钮编号。但正如我所说,我需要将值存储在变量中。
ButtonsList = new Meteor.Collection('list');
Template.theList.helpers({
'buttons': function(){
    //return ButtonsList.find().fetch();
    return ButtonsList.find('ZcLkjSwNGTpgHkoeq');
}
});

ButtonsList.find()返回游标。

ButtonsList.find().fetch()返回一个按钮数组。

ButtonsList.findOne() returns将返回单个按钮。

ButtonsList.findOne().fieldName将返回找到的按钮的fieldName字段。

它与{{#each}}模板块帮助器一起工作的原因是each块知道如何遍历游标。

你使用查找,不意味着你得到多个记录回来?你不应该用FindOne代替吗?否则你会得到一个对象数组,这意味着你必须使用num[i]。Button1来获取值。