NeDB 更新但删除未更新的字段,为什么?

NeDB updates but removes fields that wasn't updated, why?

我正在为 node.js 中的 discord 编写一个小脚本,并将 NeDB 用作数据库,但是当我更新一行时,它会执行更新但会删除字段 "userid".

db.update({userid: "u"+uid}, {credits: credit, dailyTime: currentTime}, {}, function(err, numReplaced){
        if(err) console.log(err);
        message.channel.send("<@"+uid+"> You received your daily credit! Your now have "+credit+" Credit!");
      });

这是我的更新代码,当我获得所有用户时,一个对象现在具有信用、dailyTime 和 _id,但没有 userid。为什么会被删除?

P.S:我已经搜索了 google,但只有更新无法正常工作的问题,但对我来说,它的工作并不像我预期的那样。

我猜你忘了指定 $set 修饰符,它表示要更改字段的值。尝试这样的事情:

db.update({userid: "u"+uid}, {$set:{credits: credit, dailyTime: currentTime}}, {}, function(err, numReplaced){
        if(err) console.log(err);
        message.channel.send("<@"+uid+"> You received your daily credit! Your now have "+credit+" Credit!");
      });

请查看official docs更新文档