- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试创建一个数据库,并将集合添加到该数据库并将更改保存到 IndexedDB。
下面是我的代码
myApp.controller('SaveController', ['$scope', 'Loki', function ($scope, Loki) {
// SAVE : will save App/Key/Val as 'finance'/'test'/{serializedDb}
// if appContect ('finance' in this example) is omitted, 'loki' will be used
var idbAdapter = new LokiIndexedAdapter('finance');
var db = new loki('ProjectDb', { adapter: idbAdapter });
var coll = db.addCollection('SampleCollection');
coll.insert({ SampleId: 'Sample text.....' });
db.saveDatabase(); // could pass callback if needed for async complete
}]);
然后在我的 LoadController 中我使用
myApp.controller('LoadController', ['$scope', 'Loki', function ($scope, Loki) {
var idbAdapter = new LokiIndexedAdapter('finance');
var db = new loki('ProjectDb', { adapter: idbAdapter, autoload: true });
db.loadDatabase({}, function (result) {
console.log(result);
});
alert(db.getCollection("SampleCollection"));
}]);
当我警告“alert(db.getCollection("SampleCollection"));”时,我得到一个空值。它永远不会进入“loadDatabase”方法的回调。
我有什么遗漏的吗?
浏览器中的IndexedDB
这里是页面 html
编辑默认本地存储实现
我使用loki js的默认实现,并且我尝试加载离线数据库,即使数据库存在,每次结果都显示为空
var offlineDb = new loki('DbOfflineNew');
offlineDb.loadDatabase({},function (result) {
console.log(result);
if (result == null) {
alert('loading for first time..');
}
else {
alert('existing load..');
}
});
每次触发“第一次加载..”警报时..我在这里缺少什么吗..?
最佳答案
基本上所有逻辑都需要位于 loadDatabase 回调中。如果您在加载之前尝试 console.log
集合,那么它将为 null。很多人都掉进了这个陷阱。
换句话说:
myApp.controller('LoadController', ['$scope', 'Loki', function ($scope, Loki) {
var idbAdapter = new LokiIndexedAdapter('finance');
var db = new loki('ProjectDb', { adapter: idbAdapter, autoload: true });
db.loadDatabase({}, function (result) {
console.log(result);
// put your log call here.
alert(db.getCollection("SampleCollection"));
});
}]);
希望这有帮助。
关于lokijs - 无法使用 lokiJs 加载数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31859889/
我尝试创建一个数据库,并将集合添加到该数据库并将更改保存到 IndexedDB。 下面是我的代码 两个 Controller SaveController 和 LoadController。 myAp
lokijs id ($loki) 是否唯一? 如果我有来自一个集合的 2 个文档,其 ID 为 $loki:1 和 $loki:2,并且我删除了 $loki:1,那么我创建的下一个文档应该是 $lo
我尝试创建一个数据库,并将集合添加到该数据库并将更改保存到 IndexedDB。 下面是我的代码 两个 Controller SaveController 和 LoadController。 myAp
我的应用程序工作流程是从 API 后端获取一些数据,并在 LokiJS 的帮助下写入客户端存储。我在客户端集合中有成千上万的数据。对于我的应用程序的状态管理,我使用 Vuex。 这就是问题所在。当我提
我如何按升序对 loki js 集合进行排序 var categoryCollection = offlineDb.getCollection('Category'); var catColl = c
我怀疑这是一个有点简单的问题,因为我对前端不是很有经验。 我正在尝试将 lokijs 用作浏览器应用程序中的数据存储,但无法运行它。我有在我的 html 中,和 var db = new loki('
我正在尝试在 LokiJS 中使用现有的数据库,但我的 autoloadCallback 没有触发。 正在使用console.log('from add collection don')知道它何时触发
在 LokiJS 中,我尝试了一个非常简单的查询(我假设是 AND): var dbRes = recsCol.find({'format':format, 'cardId':-1}); 插入一些数据
我正在尝试向 LokiJS 添加监听器,以便每当任何集合中的数据发生更改时我都会收到通知(尽管根据文档 LokiJS 支持数据更改通知)。但是我无法收到数据更改的通知。 下面是我正在使用的代码片段:
要在 LokiJS 集合上创建索引(或 UniqueIndex),您只需指定字段名称: db.addCollection('Children',{indices:['name']}) ...将在集合中
[更新]我后来发现了一些例子,如下: this.db = new Loki("viewsaving", { autosave: true,
有没有办法在 loki 中指定复合唯一索引?我尝试过类似的方法: db.addCollection('contents', {unique: ['id', 'wsID']}); 但这似乎产生了 2 个
我正在使用 lokijs 来存储一些我需要使用的数据。我的数据如下所示。作为 lokijs 的新手,我一直在努力寻找一种方法来从 part 中获取 item_part_option_groupsarr
我最近在 Node 上研究 LokiJS,我找不到删除整个集合本身的命令, 我假设这些命令存在,但我尝试使用这些命令,但我找不到任何文档/样本来删除集合。 //let result = this.db
我目前正在使用 Onsen UI+Cordova 开发一个应用程序,并尝试使用 LokiJS 作为我的无服务器数据库。根据 LokiJS 的文档: If nothing is specified, L
我正在从数据库中查询一些简单的内容,但它一直返回一个空数组。我按照网站上的文档尝试了几种方法。 user.chain().find({ email: 'test@gmail.com' }).data(
最近我遇到了 lokijs,我计划将它用于我使用 Ionic 开发的混合移动应用程序。据我了解,它是一个内存数据库,执行速度非常快。所以,我的问题是,它是否适用于大数据库(大约 10-50MB 甚至更
我正在寻找一个可以存储数据的 indexedDB 包装库。 (具体用途是针对 JavaScript Cordova 应用程序,但也可以在浏览器中运行) 我找到了 LokiJS这似乎可行。然而,Loki
我一直在尝试使用 lokijs在一个项目上。 Lokijs 会生成自己的 ID 吗?还是我们需要自己处理? 最佳答案 LokiJS 生成自己的 ID。由于属性“id”是一个通用名称,为避免冲突,插入集
嗨,我正在使用 cordova/angularjs/lokijs 以 json 格式在数据库中插入记录时,它显示类型错误(“文档需要是一个对象”),但在简单数组的情况下,它工作正常。我需要存储为 JS
我是一名优秀的程序员,十分优秀!