我正在使用lowdb
(https://github.com/typicode/lowdb)和持久存储空间(file-async
):
const low = require('lowdb');
const db = low('db.json', {storage: require('lowdb/lib/storages/file-async')});
db.defaults({inputs: []}).value();
从客户端我收到此对象:
var data = {
"idx": 1,
"item": { "Name": "blabla", "Surname": "bleble" }
}
我想用收到的新信息更新记录号idx
。这不会更新任何内容:
if (data.idx < db.get("inputs").size()) {
db.get("inputs").nth(data.idx)
.assign(data.item)
.write();
}
在我的实际数据中,我有超过2项。
答案 0 :(得分:0)
这里是解决方案:
db.get('inputs')
.nth(data.idx)
.assign(data.item)
.value();
db.write();
请注意,最后一种方法应该是单独的电话。将write()
电话放在链接的末尾不起作用,至少在我的设置中。