2017-02-11 60 views
4

我用$elementMatch對用戶採集查詢:

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

此查詢工作正常的服務器,但客戶端我只得到下面的錯誤。什麼可能是錯的?

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

作爲MasterM寫波紋管,也許你在代碼中有一個錯字:$ elemMatch而不是$ elementMatch。 mongodb文檔注意到,如果您在$ elemMatch表達式中只指定一個條件,則不需要使用$ elemMatch。 –

回答

2

在客戶端,流星使用MiniMongo,它實現了MongoDB的運營商的子集。

您確定您的意思不是$elemMatch,它在MiniMongo in v0.7.2中實施?我想知道這是如何在服務器上工作。

無論如何,既然你只有一個標準,你並不真的需要它。

一些操作員沒有實施,我找不到任何稱爲$elementMatch的任何參考。

這些不兼容性記錄在Notes文件中。 $elemMatch可以在客戶端上做些限制,但它似乎不適用於您的情況。

不支持的選擇:

  • $ elemMatch在$所有
  • geoqueries超過$附近其他($ nearSphere,$ geoIntersects,$ geoWithin)