`Filters.eq(fieldName, value)` фактически не создает `$eq`, что приводит к проблемамJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 `Filters.eq(fieldName, value)` фактически не создает `$eq`, что приводит к проблемам

Сообщение Anonymous »

Я не уверен, является ли это проблемой MongoDB, проблемой с драйвером mongo-java или я делаю что-то неправильное.
Проблема в том, что MongoDB может вести себя по-разному в случае наличия оператора $eq или синтаксиса {fieldName: value. См. пример здесь: https://mongoplayground.net/p/sXKR2FvE5eg
Я хочу группировать по полю groupBy и хочу, чтобы объекты типа "A" находились в поле typeA и наоборот для B.
Я использовал драйвер mongo-java, который не создает оператор $eq в случае Filter.eq используется, см. документацию.
Для typeA я использовал $eq в примере, а для typeB я использовал синтаксис, отличный от $eq. Как показывает пример, оператор $eq на самом деле фильтрует правильно, а синтаксис, отличный от $eq, нет.
Итак, вопрос в том, является ли это реальной проблемой MongoDB или Filters.eq всегда должен создавать $eq в драйвере mongo-java?

Подробнее здесь: https://stackoverflow.com/questions/798 ... ses-issues
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»