2016-04-28 11 views
0

Dies ist das Schema meiner Datenbanktabelle ‚Benutzer‘Nicht in der Lage aus der Datenbank zu entfernen, indem Knoten js/mongodb/socket.io

{ 
    "_id": { 
    "$oid": "572255b0dad7d9781f92d6bd" 
    }, 
    "local": { 
     "password": "$2a$08$JMHr7CMBNkFqi1xxFvO9je1w9qi2BP4tR9Z81FsA2N267PNIBD3ma", 
     "email": "[email protected]" 
    }, 
    "__v": 0 
} 

Ich versuche, dies aus meiner Datenbank zu entfernen, mit dem folgenden Code: functions.js:

function deleteUser(finishedEmail){ 
    try{ 
    var socket = io.connect('http://127.0.0.1:8080'); 
    console.log("success"); 
    } catch(e){ 
    console.log("fail"); 
    } 
    if(socket !== undefined){ 
     var email = finishedEmail; 
     socket.emit('userDelete',{ 
     email:email 
     }) 
    } 
} 

server.js:

var col2 = db.collection('users'); 
    socket.on('userDelete',function(data){ 
     var email = data.email; 
     console.log(data.email); 
     col2.deleteOne({email: email}, function(){ 
      console.log("successful deletion"); 
     }); 
    }); 

In meiner Konsole erhalte ich die Protokolle: „a @ a.a "und" erfolgreiche Löschung ". Aber die E-Mail wird nicht gelöscht. Was mache ich falsch?

Ich habe versucht, die folgenden: - "unerwartetes Token"

col2.deleteOne({local:{email: email}}, function(){ 
    console.log("successful deletion"); 
}); 

col2.deleteOne({email: email}, function(){ 
    console.log("successful deletion"); 
}); 

col2.deleteOne({local.email: email}, function(){ 
    console.log("successful deletion"); 
}); 

Antwort

1

Ich denke, in Ihrem server.js müssen Sie schreiben

col2.deleteOne({"local.email": email}, function(){ 
    console.log("successful deletion"); 
}); 
+0

leider habe ich versucht, dass und es wird gesagt , also nach dem Einheimischen. So funktioniert das nicht –

+0

Sorry, mein schlechtes. Ich habe die Antwort geändert. Ich denke, es wird funktionieren ... –

+0

genial, das hat funktioniert –

Verwandte Themen