MongoDB Compass $ match和$ text结果为“预期的[[]或AggregationStage,但找到的是{{。]”。

时间:2018-10-29 03:16:46

标签: mongodb mongodb-compass

执行简单的$ match聚合将导致“预期的[[]或AggregationStage,但找到的是{{”。错误。

{
  $text: {
    $search: "search query"
  }
}

3 个答案:

答案 0 :(得分:0)

您应该直接在文本框中提供查询对象。

示例

/**
 * query - The query in MQL.
 */
{
  count_field: {"$gt": 1}
}

答案 1 :(得分:0)

我遇到了相同的错误,但在我的情况下,我在$addFields语句中使用了$switch,在这里$regexMatch打破了指南针中的管道:

{
  attribute: {
    $switch: {
      branches: [
        {
          case: {
            $regexMatch: {
              input: "$attribute",
              regex: /expression/
            }
          },
          then: "..."
        }
      ],
      default: "$attribute"
    }
  }
}

但是当我在CLI中执行它时,它工作得很好

答案 2 :(得分:0)

尝试使用此查询进行搜索,

db.collectionname.aggregate([
       {
        $match:{
             "Field_name":
                {
                   $regex:'Search_value',
                   $options: "si" 
                 }
 }}]);