/
test.onetomany.js
39 lines (35 loc) · 1.01 KB
/
test.onetomany.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
persistence.connect('testdbnm', 'My test db', 5 * 1024 * 1024);
var Task = persistence.define('Task', {
name: "TEXT",
description: "TEXT",
done: "BOOL"
});
var Category = persistence.define('Category', {
name: "TEXT"
});
Category.hasMany('tasks', Task, 'category');
persistence.schemaSync(function (tx) {
var c = new Category( {
name: "Main category"
});
persistence.add(c);
for ( var i = 0; i < 5; i++) {
var t = new Task();
t.name = 'Task ' + i;
t.done = i % 2 == 0;
c.tasks.add(t);
//c.tasks.remove(t);
/*t.category = c;
persistence.add(t);*/
}
persistence.flush(tx, function () {
var allTasks = c.tasks.prefetch('category');
allTasks.list(tx, function (results) {
console.log('query executed OK')
results.forEach(function (r) {
console.log('[' + r.category.name + '] ' + r.name)
});
//persistence.reset(tx);
});
});
});