我正在将 LowDB 用于一个小型应用程序,其中我db.json
的结构与此类似:
{
"clients": [
{
"id": "ad839854-a53a-4287-9f94-7e7e3f2b8cab",
"name": "some name"
}
],
"jobs": [
{
"id": "ad839854-a53a-4287-9f94-7e7e3f2b8cac",
"type": "fix",
"client": "ad839854-a53a-4287-9f94-7e7e3f2b8cab"
}
]
}
我想要实现的是查询所有作业并自动使用它自己的数据填充客户端属性(使用客户端 ID)以显示在 UI 中,而无需将其保留回数据库。我设法用几行javascript来做到这一点:
var vm = this;
vm.jobs = LowDB.get('jobs').value();
var jobClient = null;
angular.forEach(vm.jobs, function (job) {
if(job.client) {
jobClient = LowDB.get('clients').find({id: job.client}).value();
job.client = jobClient;
console.log(job.client);
}
});
我的问题是是否有任何内置/更简单的方法可以仅使用 LowDB 甚至使用 lodash 来实现相同的结果?此外,似乎以这种方式将数据持久保存到数据库中很可能是因为使用了,value()
但我找不到任何其他方法来实现这一点。
提前致谢。