15

执行简单的 $match 聚合会导致Expected "[" or AggregationStage but "{" found.错误。

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

3 回答 3

0

试试这个查询搜索,

db.collectionname.aggregate([
       {
        $match:{
             "Field_name":
                {
                   $regex:'Search_value',
                   $options: "si" 
                 }
 }}]);
于 2020-09-17T14:03:31.420 回答
0

我遇到了同样的错误,但在我的情况下,我使用$addFieldswith$switch语句,这里$regexMatch破坏了我在 Compass 中的管道:

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

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

于 2020-03-04T13:19:52.567 回答
-1

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

例子

/**
 * query - The query in MQL.
 */
{
  count_field: {"$gt": 1}
}
于 2019-01-07T15:22:33.693 回答