Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将本地存储重构为数据库_Javascript_Angularjs_Couchdb_Local Storage_Pouchdb - Fatal编程技术网

Javascript 将本地存储重构为数据库

Javascript 将本地存储重构为数据库,javascript,angularjs,couchdb,local-storage,pouchdb,Javascript,Angularjs,Couchdb,Local Storage,Pouchdb,我已经建立了一个应用程序,将记录保存在本地存储中 我最近才意识到,通过设计,我通过阻塞DOM阻塞了CPU,因为我正在使用ng repeat从单个键读取大量记录 我的想法是迁移到PockDB,但我认为我缺少一些概念 现在,我的数据结构如下所示: { _id: 'car_<id>', data: ...} { _id: 'driver_<id>', data: ...} { _id: 'record_<id>', data: ...} 键(cars)-值(ob

我已经建立了一个应用程序,将记录保存在本地存储中

我最近才意识到,通过设计,我通过阻塞DOM阻塞了CPU,因为我正在使用ng repeat从单个键读取大量记录

我的想法是迁移到PockDB,但我认为我缺少一些概念

现在,我的数据结构如下所示:

{ _id: 'car_<id>', data: ...}
{ _id: 'driver_<id>', data: ...}
{ _id: 'record_<id>', data: ...}
  • 键(cars)-值(objectCar1-objectCar2-objectCar3…)
  • 键(驱动程序)-值(objectDriver1-objectDriver2-objectDriver3…)
  • 键(记录)-值(objectRecord1-objectRecord2-objectRecord3…到Record70现在,开始出现问题
我一直在阅读Pocky和CouchDB文档,如果我要切换到PockDB,那么我只需要随意地将对象放入DB中,然后在其中迭代寻找参数以进行过滤

现在,NoSQL数据库看起来就像一个大袋子,可以在那里存储数据,而不需要太多的顺序


还是我遗漏了什么?

你遗漏了一些东西

首先,PockDB的主要参与技巧是使用couchDB进行复制。如果您不使用它,那么最好使用其他web数据库包装器(例如)


在查询数据方面,您可以遍历整个数据库。但是一种更有效、更简单的方法是使用或

如果您已经在使用localstorage,您可以看看

PockDB不是一个存储数据的大包,但是为了高效地存储数据,您必须稍微改变一下心态

长话短说,您将希望插入如下所示的文档:

{ _id: 'car_<id>', data: ...}
{ _id: 'driver_<id>', data: ...}
{ _id: 'record_<id>', data: ...}
{{u id:'汽车',数据:…}
{u id:'驱动程序',数据:…}
{u id:'记录',数据:…}
请注意,每个文档的
\u id
都以其类型为前缀

然后,为了高效地查询数据,例如查找所有汽车,您可以查询
db.allDocs({startkey:'car\uUf',endkey:'car\uUfff',include.\uDocs:true})


或者,如果您已经厌倦了手工编写这些类型的查询,那么我们也会做同样的事情,但会使用更好的API。

现在它是一款离线应用程序,但将来可能会有兴趣添加复制选项……嗨,尼克!我看过LocalFower,但我认为这是进入“严肃”数据库挖掘的绝佳机会!无论如何,谢谢!:)