Nedb 查找一项并更改另一项

Nedb Find one item and change another

我通过搜索名字找到了一条数据,但是那个人也有分数,我怎么才能得到分数。

database.find({ username: username }, function(err, doc) {
    const data = doc
    console.log(data)

    if(data.length < 1 || data == undefined) {

    const scorecount = 1;
    database.insert({ username, scorecount})

    } else {
        console.log(data)
        //Here is where I want to be able to just get the score count and be able to change it
    }
})

感谢您的帮助

我从未使用过 NeDB;但通常您需要做的是在 doc 中收到的元素与 database.insert() 期望的参数之间进行映射。通过阅读文档,我认为您可以修改 doc 并将其直接传回:

data.forEach((row) => {
  row.scorecount = (row.scorecount || 0) + 1
  database.insert(row)
})

旁注:if (data.length < 1 || data == undefined)。如果 data 实际上是未定义的,那么 data.length 将抛出错误。首先检查 data == undefined。或者更好的是,!data 将捕获任何虚假值。