Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/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
Javascript 从mongoDB获取字段值并分配给未定义的变量_Javascript_Meteor - Fatal编程技术网

Javascript 从mongoDB获取字段值并分配给未定义的变量

Javascript 从mongoDB获取字段值并分配给未定义的变量,javascript,meteor,Javascript,Meteor,我正在使用MeteorJS,试图从MongoDB获取字段的值,并将其分配给变量。但是,当您想要打印到控制台时,它总是给出“未定义”。它在HTML模板中运行良好,但我需要将该值存储在var in.js文件中 var num = ButtonsList.find({_id:'ZcLkjSwNGTpgHkoeq'}); var n = num.button1; console.log("button number is: "+n); 顺便说一下,如果我想让它们在浏览器中输出,下面的代

我正在使用MeteorJS,试图从MongoDB获取字段的值,并将其分配给变量。但是,当您想要打印到控制台时,它总是给出“未定义”。它在HTML模板中运行良好,但我需要将该值存储在var in.js文件中

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}}
模板块帮助器一起工作的原因是
每个
块都知道如何在游标上迭代。

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

写入
console.log(num)并查看您获取的控制台.log(num);返回一个[object object],谢谢您的回答。现在可以了!似乎我没有指定对象的索引。现在我改为findOne()并给出了值。谢谢