我正在使用 LokiJS,它适用于大多数部分。除了我似乎无法从数据库中删除记录。
查找让我删除了正确的记录,但是 remove() 和 findAndRemove() 在 saveDatabase 之后都没有删除它。我究竟做错了什么?
(注意:我已经在 loadDatabase(...) 回调之外尝试了 saveDatabase - 没有变化。每当我重新运行它时,我认为我删除的记录仍然存在)
这是代码:dbName 是文件的有效路径
var db = new loki(dbName);
db.loadDatabase({}, function (e) {
var orders = db.getCollection("orders");
console.log(orders.count() + " orders found... iterating");
orders.find().forEach((v, i) => {
console.log(i + "." + v.key + " " + v.places.display + " " + v.theme + " " + moment(v.date).format("DD MMM YYYY HH:mm"));
});
}
let dKey = "some key that is valid";
if (!dKey) {
console.log("no key specified, returning");
return;
}
console.log("deleting specific record " + dKey);
let dObj = orders.find({ key: dKey });
if (!dObj || dObj.length == 0) {
console.log("no such record, returning");
return;
}
console.log(dObj[0]);
orders.remove(dObj[0]);
db.saveDatabase((e) => {
console.log("save complete");
});
}
});