在mongodb中选择多个过滤器时出现问题

时间:2016-06-15 12:44:15

标签: javascript mongodb meteor

我从流星应用程序访问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;
      }

变量文本变为未定义。

1 个答案:

答案 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;
      }