带下划线的MongoDB聚合字段

带下划线的MongoDB聚合字段,mongodb,aggregation-framework,Mongodb,Aggregation Framework,我的文档中有一个字段\u type \,如下所示: { "name" : "0", "_type_" : "product" } 我需要对该字段进行聚合: db.readImport.aggregate([ { $match: { "$_type_": "product" } }, ... ]); 当字段没有下划线时,它会工作,但这样我得到 unknown top level operator:

我的文档中有一个字段
\u type \
,如下所示:

{
    "name" : "0",
    "_type_" : "product"
}
我需要对该字段进行聚合:

db.readImport.aggregate([
    {
        $match: {
            "$_type_": "product"
        }
    },
    ...
]);
当字段没有下划线时,它会工作,但这样我得到

unknown top level operator: $_type_
  • 如何使用
    $
    访问字段
    \u type.

对于$match阶段,您不需要
$

db.readImport.aggregate([
    {
        $match: { "_type_": "product" }
    },
    ...
]);
因为$match阶段接受简单查询作为参数。其他聚合阶段(如$group)接受表达式。表达式用于访问输入文档的字段