Partage
  • Partager sur Facebook
  • Partager sur Twitter

[MEAN] Récupérer l'_id à l'inscription

MongoDB, Express, Angular, NodeJS

Sujet résolu
    15 mai 2022 à 11:31:57

    Bonjour, je suis en train d'apprendre l'environnement MEAN stack et j'ai une question.

    J'ai une page d'inscription, qui inscrit l'utilisateur dans MongoDB :

    // register.component.ts
    
    register(){
        this.http.post('http://localhost:3001/register', this.input)
            .subscribe(
              (            next: any) => {
                    // TO-DO Success event
                    
                },
              (            error: any) => {
                    // TO-DO Error event
                    
                });
    }
    // app.js
    
    app.post('/register', function(req, res){
        db.collection('users').insertOne({
            prenom : req.body.prenom,
            nom: req.body.nom,
            email : req.body.email,
            password : req.body.password
        })
        
    })

    Ca marche plutôt bien, le problème, c'est que pour la connexion, j'utilise l'_id :

    // login.component.ts
    
      login(id: string){
        this.http.get('http://localhost:3001/login/' + id).toPromise().then((data: any) => {
          this.users = data
      
       
         
        })
        sessionStorage.setItem('id', id)
        
      }
    // app.js
    
    app.get('/login/:id', function(req, res){
        db.collection('users').findOne({ email: ObjectId(`${req.params.id}`)}, function(err, user){
            if (err) throw err;
            if (!user) {
                console.log('User not found')
            }
            else if (user)
            {
                console.log('Found user: ' + user.prenom)
            }
        })
    })

    Comment faire en sorte que lorsque l'utilisateur s'inscrit, ça renvoie son _id directement, et comme ça je peux le mettre en session :

    sessionStorage.setItem('id', id)





    EDIT :

    Nevermind, j'ai trouvé tout seul : 

    app.post('/register', function(req, res){
         db.collection('users').insertOne({
            prenom : req.body.prenom,
            nom: req.body.nom,
            email : req.body.email,
            password : req.body.password,
            solde : 0,
            economies : 0
        }, function(err, user){
            res.json(user.insertedId)
        })
    
    })
    register(){
        this.http.post('http://localhost:3001/register', this.input)
            .subscribe(result => {
              console.log(result);
            })
    }



    -
    Edité par ToinouPHP 15 mai 2022 à 13:15:16

    • Partager sur Facebook
    • Partager sur Twitter

    [MEAN] Récupérer l'_id à l'inscription

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    • Editeur
    • Markdown