How to add an item to a collection in RacerJs DerbyJs? -
i want add item collection using racerjs/derbyjs, doesn't work. must overlooking something...
what tried
model.set('news', [ { text: "something" } ]); and does set news-item. however, when another time, overwrite existing item, , not add new one. how that?
model.push('news', {text:"sometext"}) fails "object not array".
basically, want basic version of "post update , show on 'wall' app", without rooms nor making use of arrays. 1 collection, , that's it.
stacktrace of .push() variant:
wed may 22 2013 09:35:24 gmt+0200 (w. europe daylight time) (23168) d7564d2d-f23 8-4ce0-a0a2-6e376e9b5cb1 ? ver: 0 - push 'news', { text: 'adsf' } c:\xampp\htdocs\derbyjs\knowedge\app1\node_modules\derby\node_modules\racer\lib\ memory.js:185 throw new typeerror(arr + ' not array'); ^ typeerror: [object object] not array @ object.arraylookupset [as _arraylookupset] (c:\xampp\htdocs\derbyjs\knowedge\app1\node_modules\derby\node_modules\racer\lib\memory.js:185:11) @ object.applyarraymethod [as _applyarraymethod] (c:\xampp\htdocs\derbyjs\knowedge\app1\node_modules\derby\node_modules\racer\lib\memory.js:145:18) @ object.push (c:\xampp\htdocs\derbyjs\knowedge\app1\node_modules\derby\node_modules\racer\lib\memory.js:118:15) @ applytxn (c:\xampp\htdocs\derbyjs\knowedge\app1\node_modules\derby\node_modules\racer\lib\transaction.js:114:32) @ object.exports.applytxntodoc (c:\xampp\htdocs\derbyjs\knowedge\app1\node_modules\derby\node_modules\racer\lib\transaction.js:126:3) @ function.queryinterface.publish (c:\xampp\htdocs\derbyjs\knowedge\app1\node_modules\derby\node_modules\racer\lib\adapters\pubsub-memory\channel-interface-query.js:25:24) @ pubsub.publish (c:\xampp\htdocs\derbyjs\knowedge\app1\node_modules\derby\node_modules\racer\lib\pubsub\pubsub.js:63:10) @ store.module.exports.proto.publish (c:\xampp\htdocs\derbyjs\knowedge\app1\node_modules\derby\node_modules\racer\lib\pubsub\pubsub.store.js:174:20) @ publish (c:\xampp\htdocs\derbyjs\knowedge\app1\node_modules\derby\node_modules\racer\lib\txns\txns.store.js:230:15) @ next (c:\xampp\htdocs\derbyjs\knowedge\app1\node_modules\derby\node_modules\racer\lib\middleware.js:7:26) @ module.exports.events.middleware.txn (c:\xampp\htdocs\derbyjs\knowedge\app1\node_modules\derby\node_modules\racer\lib\txns\txns.store.js:220:11) @ store._sendtodb.lockingdone (c:\xampp\htdocs\derbyjs\knowedge\app1\node_modules\derby\node_modules\racer\lib\store.js:294:12) @ mergeall.setuproutes (c:\xampp\htdocs\derbyjs\knowedge\app1\node_modules\derby\node_modules\racer\lib\adapters\db-memory\index.js:70:13) @ dbmemory.mergeall.get (c:\xampp\htdocs\derbyjs\knowedge\app1\node_modules\derby\node_modules\racer\lib\adapters\db-memory\index.js:44:5) @ mergeall.setuproutes (c:\xampp\htdocs\derbyjs\knowedge\app1\node_modules\derby\node_modules\racer\lib\adapters\db-memory\index.js:62:16) @ dbmemory.mergeall.get (c:\xampp\htdocs\derbyjs\knowedge\app1\node_modules\derby\node_modules\racer\lib\adapters\db-memory\index.js:44:5) @ mergeall.setuproutes (c:\xampp\htdocs\derbyjs\knowedge\app1\node_modules\derby\node_modules\racer\lib\adapters\db-memory\index.js:60:14) @ next (c:\xampp\htdocs\derbyjs\knowedge\app1\node_modules\derby\node_modules\racer\lib\store.js:321:15) @ store._sendtodb (c:\xampp\htdocs\derbyjs\knowedge\app1\node_modules\derby\node_modules\racer\lib\store.js:324:10) @ writetodb (c:\xampp\htdocs\derbyjs\knowedge\app1\node_modules\derby\node_modules\racer\lib\txns\txns.store.js:216:15) @ next (c:\xampp\htdocs\derbyjs\knowedge\app1\node_modules\derby\node_modules\racer\lib\middleware.js:7:26) @ serialemitprep (c:\xampp\htdocs\derbyjs\knowedge\app1\node_modules\derby\node_modules\racer\lib\txns\txns.store.js:125:9) @ next (c:\xampp\htdocs\derbyjs\knowedge\app1\node_modules\derby\node_modules\racer\lib\middleware.js:7:26) @ incrver (c:\xampp\htdocs\derbyjs\knowedge\app1\node_modules\derby\node_modules\racer\lib\modes\lww.js:18:12) @ next (c:\xampp\htdocs\derbyjs\knowedge\app1\node_modules\derby\node_modules\racer\lib\middleware.js:7:26) @ object.module.exports.events.init.store.eachcontext.context.guardwrite (c:\xampp\htdocs\derbyjs\knowedge\app1\node_modules\derby\node_modules\racer\lib\accesscontrol\accesscontrol.store.js:54:51) @ accesscontroller (c:\xampp\htdocs\derbyjs\knowedge\app1\node_modules\derby\node_modules\racer\lib\txns\txns.store.js:103:17) @ next (c:\xampp\htdocs\derbyjs\knowedge\app1\node_modules\derby\node_modules\racer\lib\middleware.js:7:26) @ object.run (c:\xampp\htdocs\derbyjs\knowedge\app1\node_modules\derby\node_modules\racer\lib\middleware.js:10:12) @ socket.module.exports.events.socket (c:\xampp\htdocs\derbyjs\knowedge\app1\node_modules\derby\node_modules\racer\lib\txns\txns.store.js:267:26) @ socket.racer.log.sockets.sockets.on.socket.on (c:\xampp\htdocs\derbyjs\knowedge\app1\node_modules\derby\node_modules\racer\lib\log.server.js:150:20) @ socket.eventemitter.emit [as $emit] (events.js:91:17) @ socketnamespace.handlepacket (c:\xampp\htdocs\derbyjs\knowedge\app1\node_modules\derby\node_modules\racer\node_modules\socket.io\lib\namespace.js:335:22) @ manager.onclientmessage (c:\xampp\htdocs\derbyjs\knowedge\app1\node_modules\derby\node_modules\racer\node_modules\socket.io\lib\manager.js:488:38) @ websocket.transport.onmessage (c:\xampp\htdocs\derbyjs\knowedge\app1\node_modules\derby\node_modules\racer\node_modules\socket.io\lib\transport.js:387:20) @ parser. (c:\xampp\htdocs\derbyjs\knowedge\app1\node_modules\derby\node_modules\racer\node_modules\socket.io\lib\transports\websocket\hybi-16.js:39:10) @ parser.eventemitter.emit (events.js:88:17) @ opcodehandlers.1.finish (c:\xampp\htdocs\derbyjs\knowedge\app1\node_modules\derby\node_modules\racer\node_modules\socket.io\lib\transports\websocket\hybi-16.js:288:16) @ parser.opcodehandlers.1.expectdata [as expecthandler] (c:\xampp\htdocs\derbyjs\knowedge\app1\node_modules\derby\node_modules\racer\node_modules\socket.io\lib\transports\websocket\hybi-16.js:299:15) @ parser.add (c:\xampp\htdocs\derbyjs\knowedge\app1\node_modules\derby\node_modules\racer\node_modules\socket.io\lib\transports\websocket\hybi-16.js:466:24) @ parser.expect (c:\xampp\htdocs\derbyjs\knowedge\app1\node_modules\derby\node_modules\racer\node_modules\socket.io\lib\transports\websocket\hybi-16.js:499:10) @ parser.opcodehandlers.1.expectdata (c:\xampp\htdocs\derbyjs\knowedge\app1\node_modules\derby\node_modules\racer\node_modules\socket.io\lib\transports\websocket\hybi-16.js:298:18) @ parser.add (c:\xampp\htdocs\derbyjs\knowedge\app1\node_modules\derby\node_modules\racer\node_modules\socket.io\lib\transports\websocket\hybi-16.js:466:24) @ parser.expect (c:\xampp\htdocs\derbyjs\knowedge\app1\node_modules\derby\node_modules\racer\node_modules\socket.io\lib\transports\websocket\hybi-16.js:499:10) @ opcodehandlers.1.expectdata (c:\xampp\htdocs\derbyjs\knowedge\app1\node_modules\derby\node_modules\racer\node_modules\socket.io\lib\transports\websocket\hybi-16.js:296:16) @ opcodehandlers.1 (c:\xampp\htdocs\derbyjs\knowedge\app1\node_modules\derby\node_modules\racer\node_modules\socket.io\lib\transports\websocket\hybi-16.js:313:9) @ parser.processpacket (c:\xampp\htdocs\derbyjs\knowedge\app1\node_modules\derby\node_modules\racer\node_modules\socket.io\lib\transports\websocket\hybi-16.js:533:8) @ parser.add (c:\xampp\htdocs\derbyjs\knowedge\app1\node_modules\derby\node_modules\racer\node_modules\socket.io\lib\transports\websocket\hybi-16.js:466:24) @ socket.websocket.onsocketconnect (c:\xampp\htdocs\derbyjs\knowedge\app1\node_modules\derby\node_modules\racer\node_modules\socket.io\lib\transports\websocket\hybi-16.js:141:17) @ socket.eventemitter.emit (events.js:88:17) @ tcp.onread (net.js:396:14)
to create item in collection can call model.set explicitly specified path containing document id, example:
model.set('news.' + model.id(), { text: "something" }) model.id method generate unique id on each call it.
Comments
Post a Comment