无法使用从数据库中删除节点JS /的MongoDB/socket.io

问题描述:

这是我的数据库表的模式,“用户”无法使用从数据库中删除节点JS /的MongoDB/socket.io

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

我试图从使用下面的代码我的数据库中删除此: 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"); 
     }); 
    }); 

在我的控制台我收到的日志:“一个@ a.a“和”成功删除“。但是电子邮件不会被删除。我究竟做错了什么?

我已经试过如下: - “意外的标记”

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"); 
}); 

我想在你的server.js你必须写

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

可惜我试过了,它说,所以在当地之后。所以这不起作用 –

+0

对不起,我的坏。我改变了答案。我想它会工作..... –

+0

真棒工作 –