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

问题描述 投票:1回答:3

我正在使用MeteorJS并尝试从MongoDB中获取字段的值并分配给变量。但是,当要打印到控制台时,它始终都处于“未定义”状态。它在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');
}
});
javascript meteor
3个回答
2
投票

[ButtonsList.find()返回光标。

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

[ButtonsList.findOne()返回将返回一个按钮。

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

{{#each}}模板块帮助程序一起使用的原因是each块知道如何在游标上进行迭代。


1
投票

您使用Find,这并不意味着您会收到多个记录?您不应该使用FindOne吗?否则,您将获得一个对象数组,这意味着您必须使用num [i] .button1来获取值。


0
投票

@ Occtavius您能发布适合您的代码吗?我正在尝试相同的方法,但对我不起作用。谢谢。

© www.soinside.com 2019 - 2024. All rights reserved.