$ и условие не работает с тремя или более чем тремя полями в Springboot mongodb - PullRequest
1 голос
/ 08 марта 2019
@Document(collection = "formtype")
public class FormType {
    @Id
    @Field(value = "id")
    private Long formTypeId;  

    @Field(value = "formtypename")
    private String formTypeName;

@Field(value = "isdeleted")
private Boolean isDeleted = false;

 //with constructor and getter setter
}

Я написал этот запрос, чтобы узнать запись типа формы, в которой formTypeName не принадлежит этому formTypeId, а isDeleted не равно true.

При написании этого запроса я получаю значение как ноль, даже если эта запись присутствует.Пожалуйста, помогите мне!

 @Query("{ '$and': [ {'formTypeId':{$ne :?0}} , {formTypeName:'?0'} , {'isDeleted':{$ne : true}} ] }") FormType getformTypeToUpdate(Long formTypeId,String formTypeName);

1 Ответ

0 голосов
/ 08 марта 2019

Вы заключили ?0 в простую цитату, которая может быть неверно истолкована компилятором.Кроме того, кажется, вы использовали параметр Long formTypeId только для двух условий formTypeId и formTypeName.

Можете ли вы попробовать:

@Query("{ '$and': [ { 'formTypeId': { $ne : ?0 } }, { 'formTypeName': ?1 }, { 'isDeleted': { $ne : true } } ] }") 
FormType getformTypeToUpdate(Long formTypeId, String formTypeName);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...