2017-07-11 3 views
0

Ich habe eine Anmeldeschaltfläche, die Daten in Mongo DB-Sammlung nur dann einfügt, wenn die Daten eindeutig sind, andernfalls sollte der Benutzer auf der gleichen Seite bleiben. Um das zu implementieren, mache ich upsert: true. Dies ist mein Code für Knoten jsAbfrage von mongodb in Knoten js

var mongoClient=require('mongodb').MongoClient; 
var url='mongodb://localhost:27017/test'; 
app.post('/newuser', function(req, res) { 
    username=req.body.username; 
    password=req.body.password; 

mongoClient.connect(url,function(err,db){ 
    //console.log("connected") 
    db.collection('users',function(err,collection){ 
     collection.update({username:username, password:password},{upsert:true},function(err,result){ 
      res.send(result.insertedCount); 
     }); 
    }) 
}) 
}); 

Und der Code für das Frontend ist

$.ajax({ 
    type:'POST', 
    url:'/newuser', 
    data:{ 
     username:username, 
     password:password 
    }, 
    success:function(result){ 
     console.log(result); 
     if(result===1){ 

     that.setState({ 
      isLoggedin:true 
     }) 
    }else{ 
     alert("not inserted"); 
    } 
    } 
}) 
return false; 

}

Jedes Mal, wenn ich den Server ausführen, wird die Erfolgsfunktion nicht erhalten executed.What stimmt der Code nicht? Danke.

+0

Überprüfen Sie die Antwort auf die API in "Netzwerk-Tools, Chrome" –

+0

Antwortdaten fehlgeschlagen @ atulquest93 – Aayushi

+0

Öffnen Sie die Konsole (Strg + Umschalt + J)> Netzwerk-Tools 'Jetzt machen Treffer .. Es wird die Anfrage angezeigt .. Klicken Sie auf die Anfrage und überprüfen Sie die Antwort, ob der Browser Daten empfängt oder ein Fehler vorliegt. –

Antwort

1

verwenden, müssen Sie $ set in Ihrer Update-Abfrage angeben.

collection.update(
    {}, 
    {$set: { username, password }}, 
    {upsert:true}, 
    function(err,result){ 
     res.send(result); 
    } 

EDIT: result Objekt senden, auf nModified basierte Prüfung, n Werte von Ergebnisobjekt die Anzahl der Datensätze aktualisiert und geändert zu bekommen.

Verwandte Themen