-db = new loki('sandbox.db');+db = new loki('sandbox.db')
-te_items = db.addCollection('items');+mutable te_items = db.addCollection('items');
-{ const btn = html`<button style="background-color:#EB9486;color:#0E0F1A" onclick=${ () => { te_items.insert({ name : 'Bob', owner: 'MON', maker: 'burgers' });} }>Add some data to ${db.filename}</button>` return btn; }+html`<button style="background-color:#EB9486;color:#0E0F1A" onclick=${() => { mutable te_items.insert({ name : 'Bob', owner: 'MON', maker: 'burgers' }); mutable te_items = mutable te_items; // trigger downstream cells }}>Add some data to ${db.filename}</button>`
// Insert some documents to the collection // needs to test that these are present add_data = {-addData; let a = te_items.insert({ name : 'mjolnir', owner: 'thor', maker: 'dwarves' }); let b = te_items.insert({ name : 'gungnir', owner: 'odin', maker: 'elves' }); let c = te_items.insert({ name : 'tyrfing', owner: 'Svafrlami', maker: 'dwarves' }); let d = te_items.insert({ name : 'draupnir', owner: 'odin', maker: 'elves' }); return te_items.data // show all data that's been added // return [a,b,c,d] // what was added // do i even need a return ???+addData; // run again when the button is clicked mutable te_items.insert({ name : 'mjolnir', owner: 'thor', maker: 'dwarves' }); mutable te_items.insert({ name : 'gungnir', owner: 'odin', maker: 'elves' }); mutable te_items.insert({ name : 'tyrfing', owner: 'Svafrlami', maker: 'dwarves' }); mutable te_items.insert({ name : 'draupnir', owner: 'odin', maker: 'elves' }); mutable te_items = mutable te_items; // trigger downstream cells}
-// this cell has to wait for the above cells to run.find = {+add_data; // depends on add_data inserting tyrfingdoThis;-var tyrfing = te_items.findOne({'name': 'tyrfing'});+var tyrfing = mutable te_items.findOne({'name': 'tyrfing'});tyrfing.owner = 'todd';-te_items.update(tyrfing); return (te_items.data)+mutable te_items.update(tyrfing); mutable te_items = mutable te_items;}