Meteor不能使用$ elementMatch

时间:2017-02-11 07:55:57

标签: mongodb meteor

我使用$elementMatch查询用户集合:

Template.AccountInfo.helpers({
  counter() {
    return Meteor.users.find({
      accounts: {
        $elementMatch: {
          bal: {
            $exists: false
          }
        }
      }
    }).fetch();
  },
});

此查询在服务器上运行正常,但在客户端上我只能得到以下错误。可能有什么不对?

Exception in template helper: Error: Unrecognized operator: $elementMatch ...

1 个答案:

答案 0 :(得分:2)

在客户端上,Meteor使用MiniMongo,它实现了MongoDB运营商的子集。

您确定不是$elemMatch,这是MiniMongo in v0.7.2中实现的吗?我想知道这是如何在服务器上工作的。

无论如何,由于你只有一个标准,你实际上并不需要它。

某些运算符未实现,我找不到任何名为$elementMatch的引用。

Notes文件中记录了这些不兼容性。 $elemMatch可以在客户端上执行的操作存在限制,但它似乎不适用于您的情况。

  

不支持的选择器:

     
      
  • $ elemMatch in all all
  •   
  • $ near附近的地理查询($ nearSphere,$ geoIntersects,$ geoWithin)
  •