我到处都在寻找解决方案,但是我似乎找不到它

我正在尝试查看nedb数据库中是否存在某行,如果不存在,请插入某些内容,但是如果确实存在,则请沿此移动,这是我尝试过的

function newAgent(pcName){
    socket.broadcast.emit('newAgent', pcName)
    agentList.find({agentName: { $nin: pcName}}, function(err, docs) {

    agentList.insert({agentName: pcName}, function (err) {});
});

}


现在我可能正在做一些愚蠢的事情,但是我对nedb还是陌生的,所以我不知道该怎么用

最佳答案

尝试这样的事情怎么样

function newAgent(pcName){
    socket.broadcast.emit('newAgent', pcName)
    agentList.find({agentName: { $in: pcName}}, function(err, docs) {
    if(null === docs){
       agentList.insert({agentName: pcName}, function (err) {});
        } else {
//since it exists you might want update
        agentList.update({
            pcName: pcName
          }, {
        $set: {
          //call fields to be updated
        }
      }, {}, callback);
    }

});

}

07-24 17:45