IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Spring Java Discussion :

@Query avec une requête JSON [Data]


Sujet :

Spring Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    557
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 557
    Par défaut @Query avec une requête JSON
    Bonjour,

    J'ai une interface

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    package connector;
     
     
    import org.springframework.data.mongodb.core.query.Update;
    import org.springframework.data.mongodb.repository.MongoRepository;
    import org.springframework.data.mongodb.repository.Query;
     
    import model.Contrat;
     
    public interface InterfaceContrat extends MongoRepository<Contrat, String> {		
    	@Query("{{msisdn : ?0}, ?1}")
    	public Contrat update(String msisdn, Update u);	
    }
    Comme il semble imposssible de faire le findAndModify depuis l'interface (sous peine d'obtenir "No property find found on type Contrat"), je veux faire ma requête en passant par la notation @Query, ce qui évite l'erreur car il tentera pas de trouver quelque chose commencant par udpate

    J'ai essayé un tas de combinaison pour ma requête mais rien à faire
    Lorque j'exécute mon script sous mongo avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    db.Annuaire.update({msisdn : 0617545899}, { "$unset" : { "rioVoix" : 1} , "$set" : { "statut" : "12"}}})
    cà fonctionne => à mon avis, c'est une question de syntaxe pur json qui me pose souci

    Merci d'avance si quelqu'un peut m'aider

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    557
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 557
    Par défaut
    J'ai trouvé l'astuce en passant par une autre interface permettant d'utiliser le mongoTempalte défini dans le ficheir de configuration... Ainsi, on peut utilise le findAndModify proposer par Mongo

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    public interface InterfaceContrat extends MongoRepository<Contrat, String>, InterfaceContratCustom {						
    }
    
    interface InterfaceContratCustom {
        Contrat update(String msisdn, Update u);	
    }
    
    class InterfaceContratImpl implements InterfaceContratCustom{
    	 @Autowired
    	 MongoTemplate mongoTemplate;
    	
    	@Override
    	public Contrat update(String msisdn, Update u) {
    		return mongoTemplate.findAndModify(new Query(Criteria.where("msisdn").is(msisdn)), u, new FindAndModifyOptions().returnNew(true), Contrat.class);			
    	 }	 
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AJAX] Ecriture dans un fichier json avec une requête AJAX
    Par DarkPoster14 dans le forum jQuery
    Réponses: 1
    Dernier message: 10/07/2012, 09h45
  2. [Recordset] Incompatibilté de type avec une requête
    Par lbourlet dans le forum Access
    Réponses: 2
    Dernier message: 29/10/2004, 15h52
  3. PB avec une requête Count
    Par Marion dans le forum ASP
    Réponses: 7
    Dernier message: 05/07/2004, 12h56
  4. Pb avec une requête
    Par arsgunner dans le forum ASP
    Réponses: 4
    Dernier message: 14/06/2004, 08h40
  5. problème avec une requête imbriquée
    Par jaimepasteevy dans le forum Langage SQL
    Réponses: 13
    Dernier message: 05/12/2003, 10h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo