0

如果我在 Filebeat 模块中使用 elasticsearch 摄取管道,并且看到以下语句: if: 'ctx.json?.userIdentity?.userName == null'

当 json.userIdentity.userName 等于 null 时,如果上面的 if 语句为真,键/值对会是什么样子?{"json.userIdentity.userName":"null"}、{"json.userIdentity.userName":null} 或其他

另外,如果字段不存在,那么key也等于null是否公平?

4

1 回答 1

1

这意味着管道处理器将在以下任何条件下执行:

// no json key
{}

// null json key
{
   "json": null
}

// empty json key
{
   "json": {}
}

// null json.userIdentity key
{
   "json": {
      "userIdentity": null
   }
}

// empty json.userIdentity key
{
   "json": {
      "userIdentity": {}
   }
}

// null json.userIdentity.userName key
{
   "json": {
      "userIdentity": {
         "userName": null
      }
   }
}
于 2022-02-14T20:19:48.963 回答