我从流星应用程序访问Mongodb。集合页面包含文档编号,d_number,页码“页面”和一些文本,称为“文本”,如下所示:
{ "d_number" : "213117-14", "page": 1, "text": "Some text" }
现在我想选择某个文件编号的某个页面。在Mongo控制台中,我这样做:
db.pages.findOne({d_number:"213117-14", page:1})
给了我想要的结果。但是,在Meteor应用程序的helpers.js部分中访问它时,就像这样
text:function() {
page = Router.current().params.page;
d_number = Router.current().params.d_number;
text = Pages.findOne({d_number:"213117-14", page:page};
return text;
}
变量文本变为未定义。
答案 0 :(得分:0)
问题原来是页码的类型。在mongo数据库中,它是一个整数,但是从
中的URL参数获取它时 page = Router.current().params.page;
它变成了一个字符串。因此,正确的代码如下所示:
text:function() {
page = parseInt(Router.current().params.page);
d_number = Router.current().params.d_number;
text = Pages.findOne({d_number:"213117-14", page:page};
return text;
}