2017-02-08 5 views
0

У меня есть поле _type_ в моих документах, как это:MongoDB агрегация поле с подчеркивания

{ 
    "name" : "0", 
    "_type_" : "product" 
} 

мне нужно сделать агрегацию на этом поле:

db.readImport.aggregate([ 
    { 
     $match: { 
      "$_type_": "product" 
     } 
    }, 
    ... 
]); 

Если поле не будет иметь подчеркивает его будет работать, но таким образом я получаю

unknown top level operator: $_type_ 
  • Как я могу получить доступ к полю _type_ с $?

ответ

1

Вам не нужно $ на этапе $ матча:

db.readImport.aggregate([ 
    { 
     $match: { "_type_": "product" } 
    }, 
    ... 
]); 

, потому что этап $ спичка принимает простой запрос в качестве параметра. Другие этапы агрегации, такие как $ group, принимают выражения. Выражения используют filed path для доступа к полям входных документов.

+0

oh lol Вы правы, спасибо .. – DanFromGermany

 Смежные вопросы

  • Нет связанных вопросов^_^