Предположим, что у меня есть поле отображения документа, как показано ниже
{
"template": {
"mappings":{
"template":{
"properties": {
"sth": {
"type": "long"
}
}
}
}
}
}
Поле sth является типом массива.
Я хочу проверить, содержит ли поле sth значение или нетПоэтому я пишу безболезненный сценарий, как doc['sth'].values.contains((long)1)
Это работает. Однако, если я напишу doc['sth'].contains((long)1)
, получая доступ к полю не через .values
, это также может сработать.
Я также попробовал какой-нибудь метод экземпляра, например isEmpty()
, size()
, оба могут работать независимочерез .values
или нет.
Итак, в чем разница между доступом к полю документа через .value / .values или без него в безболезненном сценарии? Что безболезненно делать под капотом?