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

NoSQL Discussion :

[MongoDB] Sous requête


Sujet :

NoSQL

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2016
    Messages : 2
    Par défaut [MongoDB] Sous requête
    Bonjour,
    Dans le cadre d’un cours de base de données, je dois réaliser une requête avec MongoDB sur une collection comportant une liste de films avec chacun une liste d’acteurs, la requête étant la suivante :
    Recuperer le "title" et les "actors" des films dans lesquels joue un(e) (au moins) acteur(rice) ayant comme initiales C C
    output schema: {title: ..., actors: ...}
    Seulement, ces initiales doivent être celles du premier et du dernier nom d’un acteur (sans prendre en compte les nom intermédiaires/composés donc). J’ai réussi une requête en utilisant du JS :
    Code js : 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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    var tab = [];
    db.movieDetails.aggregate( [ 
        { 
            $unwind : "$actors" 
        },{
            $project: {
                names : {
                    $split : ["$actors", " "]
                },
                title : 1,
                actors : 1
            }
        },{
            $project: {
                firstname : {
                     $arrayElemAt : ["$names",0]
                },
                lastname : {
                     $arrayElemAt : ["$names",-1]
                },
                actors : 1,
                title : 1
            }
        },{
            $match : {
                firstname : /^C.*/,
                lastname : /^C.*/
            }
        },{
            $group : {
                _id : "$_id"
            }
        }
    ] ).forEach(function(myDoc){
        tab.push(myDoc._id);
    })
     
    db.movieDetails.find({
        _id : {$in : tab}
    },{
        _id : 0,
        title : 1,
        actors : 1
    })

    Seulement nous devons réaliser cette requête en une seule étape (pas de query intermédiaire).
    Quelqu’un saurait il comment faire ? Cela fait un bon moment que je suis bloqué là-dessus.

    Merci à tous
    Images attachées Images attachées  

Discussions similaires

  1. [MFC] [API mySQL] Sous requêtes
    Par Guybrush113 dans le forum MFC
    Réponses: 5
    Dernier message: 29/04/2004, 16h14
  2. Problème DBExpress et sous requêtes ???
    Par Trulane dans le forum Bases de données
    Réponses: 5
    Dernier message: 26/03/2004, 14h40
  3. Requêtes et sous requêtes
    Par lau2nyce dans le forum Langage SQL
    Réponses: 3
    Dernier message: 23/03/2004, 15h14
  4. suppression avec sous requête conditionnelle
    Par melmel dans le forum Requêtes
    Réponses: 8
    Dernier message: 18/03/2004, 23h20
  5. Réponses: 3
    Dernier message: 18/05/2003, 00h16

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