Collections 如何在RacerJs DerbyJs中将项目添加到集合中?
我想使用RacerJs/DerbyJs将一个项目添加到集合中,但它就是不起作用。我一定是忽略了什么 我试过的Collections 如何在RacerJs DerbyJs中将项目添加到集合中?,collections,derbyjs,racerjs,Collections,Derbyjs,Racerjs,我想使用RacerJs/DerbyJs将一个项目添加到集合中,但它就是不起作用。我一定是忽略了什么 我试过的 model.set('news', [ { text: "something" } ]); 这确实设置了一个新闻项目。但是,当我下次这样做时,它只会覆盖现有项,而不会添加新项。怎么做 model.push('news',{text:“someText”})也会因“对象不是数组”而失败 基本上,我只想要最基本版本的“发布更新并在‘墙’上显示”应用程序,不需要任何房间,也不需要使用
model.set('news', [
{ text: "something" }
]);
这确实设置了一个新闻项目。但是,当我下次这样做时,它只会覆盖现有项,而不会添加新项。怎么做
model.push('news',{text:“someText”})
也会因“对象不是数组”而失败
基本上,我只想要最基本版本的“发布更新并在‘墙’上显示”应用程序,不需要任何房间,也不需要使用阵列。只有一个系列,就这样
.push()变量的堆栈跟踪:
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 + ' is not an Array');
^
TypeError: [object Object] is not an Array
at Object.arrayLookupSet [as _arrayLookupSet] (C:\xampp\htdocs\Derbyjs\KnowEdge\app1\node_modules\derby\node_modules\racer\lib\Memory.js:185:11)
at Object.applyArrayMethod [as _applyArrayMethod] (C:\xampp\htdocs\Derbyjs\KnowEdge\app1\node_modules\derby\node_modules\racer\lib\Memory.js:145:18)
at Object.push (C:\xampp\htdocs\Derbyjs\KnowEdge\app1\node_modules\derby\node_modules\racer\lib\Memory.js:118:15)
at applyTxn (C:\xampp\htdocs\Derbyjs\KnowEdge\app1\node_modules\derby\node_modules\racer\lib\transaction.js:114:32)
at Object.exports.applyTxnToDoc (C:\xampp\htdocs\Derbyjs\KnowEdge\app1\node_modules\derby\node_modules\racer\lib\transaction.js:126:3)
at 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)
at PubSub.publish (C:\xampp\htdocs\Derbyjs\KnowEdge\app1\node_modules\derby\node_modules\racer\lib\pubSub\PubSub.js:63:10)
at Store.module.exports.proto.publish (C:\xampp\htdocs\Derbyjs\KnowEdge\app1\node_modules\derby\node_modules\racer\lib\pubSub\pubSub.Store.js:174:20)
at publish (C:\xampp\htdocs\Derbyjs\KnowEdge\app1\node_modules\derby\node_modules\racer\lib\txns\txns.Store.js:230:15)
at next (C:\xampp\htdocs\Derbyjs\KnowEdge\app1\node_modules\derby\node_modules\racer\lib\middleware.js:7:26)
at module.exports.events.middleware.txn (C:\xampp\htdocs\Derbyjs\KnowEdge\app1\node_modules\derby\node_modules\racer\lib\txns\txns.Store.js:220:11)
at Store._sendToDb.lockingDone (C:\xampp\htdocs\Derbyjs\KnowEdge\app1\node_modules\derby\node_modules\racer\lib\Store.js:294:12)
at mergeAll.setupRoutes (C:\xampp\htdocs\Derbyjs\KnowEdge\app1\node_modules\derby\node_modules\racer\lib\adapters\db-memory\index.js:70:13)
at DbMemory.mergeAll.get (C:\xampp\htdocs\Derbyjs\KnowEdge\app1\node_modules\derby\node_modules\racer\lib\adapters\db-memory\index.js:44:5)
at mergeAll.setupRoutes (C:\xampp\htdocs\Derbyjs\KnowEdge\app1\node_modules\derby\node_modules\racer\lib\adapters\db-memory\index.js:62:16)
at DbMemory.mergeAll.get (C:\xampp\htdocs\Derbyjs\KnowEdge\app1\node_modules\derby\node_modules\racer\lib\adapters\db-memory\index.js:44:5)
at mergeAll.setupRoutes (C:\xampp\htdocs\Derbyjs\KnowEdge\app1\node_modules\derby\node_modules\racer\lib\adapters\db-memory\index.js:60:14)
at next (C:\xampp\htdocs\Derbyjs\KnowEdge\app1\node_modules\derby\node_modules\racer\lib\Store.js:321:15)
at Store._sendToDb (C:\xampp\htdocs\Derbyjs\KnowEdge\app1\node_modules\derby\node_modules\racer\lib\Store.js:324:10)
at writeToDb (C:\xampp\htdocs\Derbyjs\KnowEdge\app1\node_modules\derby\node_modules\racer\lib\txns\txns.Store.js:216:15)
at next (C:\xampp\htdocs\Derbyjs\KnowEdge\app1\node_modules\derby\node_modules\racer\lib\middleware.js:7:26)
at serialEmitPrep (C:\xampp\htdocs\Derbyjs\KnowEdge\app1\node_modules\derby\node_modules\racer\lib\txns\txns.Store.js:125:9)
at next (C:\xampp\htdocs\Derbyjs\KnowEdge\app1\node_modules\derby\node_modules\racer\lib\middleware.js:7:26)
at incrVer (C:\xampp\htdocs\Derbyjs\KnowEdge\app1\node_modules\derby\node_modules\racer\lib\modes\lww.js:18:12)
at next (C:\xampp\htdocs\Derbyjs\KnowEdge\app1\node_modules\derby\node_modules\racer\lib\middleware.js:7:26)
at 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)
at accessController (C:\xampp\htdocs\Derbyjs\KnowEdge\app1\node_modules\derby\node_modules\racer\lib\txns\txns.Store.js:103:17)
at next (C:\xampp\htdocs\Derbyjs\KnowEdge\app1\node_modules\derby\node_modules\racer\lib\middleware.js:7:26)
at Object.run (C:\xampp\htdocs\Derbyjs\KnowEdge\app1\node_modules\derby\node_modules\racer\lib\middleware.js:10:12)
at Socket.module.exports.events.socket (C:\xampp\htdocs\Derbyjs\KnowEdge\app1\node_modules\derby\node_modules\racer\lib\txns\txns.Store.js:267:26)
at 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)
at Socket.EventEmitter.emit [as $emit] (events.js:91:17)
at SocketNamespace.handlePacket (C:\xampp\htdocs\Derbyjs\KnowEdge\app1\node_modules\derby\node_modules\racer\node_modules\socket.io\lib\namespace.js:335:22)
at Manager.onClientMessage (C:\xampp\htdocs\Derbyjs\KnowEdge\app1\node_modules\derby\node_modules\racer\node_modules\socket.io\lib\manager.js:488:38)
at WebSocket.Transport.onMessage (C:\xampp\htdocs\Derbyjs\KnowEdge\app1\node_modules\derby\node_modules\racer\node_modules\socket.io\lib\transport.js:387:20)
at 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)
at Parser.EventEmitter.emit (events.js:88:17)
at 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)
at 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)
at 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)
at 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)
at 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)
at 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)
at 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)
at 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)
at 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)
at 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)
at 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)
at 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)
at Socket.EventEmitter.emit (events.js:88:17)
at TCP.onread (net.js:396:14)
2013年5月22日星期三09:35:24 GMT+0200(欧洲西部昼时)(23168)d7564d2d-f23
8-4ce0-a0a2-6e376e9b5cb1?版本:0-推送“新闻”{text:'adsf'}
C:\xampp\htdocs\Derbyjs\KnowEdge\app1\node\u modules\derby\node\u modules\racer\lib\
Memory.js:185
抛出新类型错误(arr+'不是数组');
^
TypeError:[对象]不是数组
在Object.arraylookupper[as Arraylookupper](C:\xampp\htdocs\Derbyjs\KnowEdge\app1\node\u modules\derby\node\u modules\racer\lib\Memory.js:185:11)
在Object.applyArrayMethod[作为_applyArrayMethod](C:\xampp\htdocs\Derbyjs\KnowEdge\app1\node\u modules\derby\node\u modules\racer\lib\Memory.js:145:18)
在Object.push(C:\xampp\htdocs\Derbyjs\KnowEdge\app1\node\u modules\derby\node\u modules\racer\lib\Memory.js:118:15)
在applyTxn(C:\xampp\htdocs\Derbyjs\KnowEdge\app1\node\u modules\derby\node\u modules\racer\lib\transaction.js:114:32)
在Object.exports.applyTxnToDoc(C:\xampp\htdocs\Derbyjs\KnowEdge\app1\node\u modules\derby\node\u modules\racer\lib\transaction.js:126:3)
在Function.QueryInterface.publish(C:\xampp\htdocs\Derbyjs\KnowEdge\app1\node\u modules\derby\node\u modules\racer\lib\adapters\pubsub memory\channel interface query.js:25:24)
在PubSub.publish(C:\xampp\htdocs\Derbyjs\KnowEdge\app1\node\u modules\derby\node\u modules\racer\lib\PubSub\PubSub.js:63:10)
在Store.module.exports.proto.publish(C:\xampp\htdocs\Derbyjs\KnowEdge\app1\node\u modules\derby\node\u modules\racer\lib\pubSub\pubSub.Store.js:174:20)
发布时(C:\xampp\htdocs\Derbyjs\KnowEdge\app1\node\u modules\derby\node\u modules\racer\lib\txns\txns.Store.js:230:15)
下一步(C:\xampp\htdocs\Derbyjs\KnowEdge\app1\node\u modules\derby\node\u modules\racer\lib\middleware.js:7:26)
位于module.exports.events.middleware.txn(C:\xampp\htdocs\Derbyjs\KnowEdge\app1\node\u modules\derby\node\u modules\racer\lib\txns\txns.Store.js:220:11)
在Store.\u sendToDb.lockingDone(C:\xampp\htdocs\Derbyjs\KnowEdge\app1\node\u modules\derby\node\u modules\racer\lib\Store.js:294:12)
在mergeAll.setupRoutes(C:\xampp\htdocs\Derbyjs\KnowEdge\app1\node\u modules\derby\node\u modules\racer\lib\adapters\db memory\index.js:70:13)
在DbMemory.mergeAll.get(C:\xampp\htdocs\Derbyjs\KnowEdge\app1\node\u modules\derby\node\u modules\racer\lib\adapters\db memory\index.js:44:5)
在mergeAll.setupRoutes(C:\xampp\htdocs\Derbyjs\KnowEdge\app1\node\u modules\derby\node\u modules\racer\lib\adapters\db memory\index.js:62:16)
在DbMemory.mergeAll.get(C:\xampp\htdocs\Derbyjs\KnowEdge\app1\node\u modules\derby\node\u modules\racer\lib\adapters\db memory\index.js:44:5)
在mergeAll.setupRoutes(C:\xampp\htdocs\Derbyjs\KnowEdge\app1\node\u modules\derby\node\u modules\racer\lib\adapters\db memory\index.js:60:14)
下一步(C:\xampp\htdocs\Derbyjs\KnowEdge\app1\node\u modules\derby\node\u modules\racer\lib\Store.js:321:15)
在Store.\u sendToDb(C:\xampp\htdocs\Derbyjs\KnowEdge\app1\node\u modules\derby\node\u modules\racer\lib\Store.js:324:10)
在writeToDb(C:\xampp\htdocs\Derbyjs\KnowEdge\app1\node\u modules\derby\node\u modules\racer\lib\txns\txns.Store.js:216:15)
下一步(C:\xampp\htdocs\Derbyjs\KnowEdge\app1\node\u modules\derby\node\u modules\racer\lib\middleware.js:7:26)
在serialEmitPrep(C:\xampp\htdocs\Derbyjs\KnowEdge\app1\node\u modules\derby\node\u modules\racer\lib\txns\txns.Store.js:125:9)
下一步(C:\xampp\htdocs\Derbyjs\KnowEdge\app1\node\u modules\derby\node\u modules\racer\lib\middleware.js:7:26)
在服务器上(C:\xampp\htdocs\Derbyjs\KnowEdge\app1\node\u modules\derby\node\u modules\racer\lib\modes\lww.js:18:12)
下一步(C:\xampp\htdocs\Derbyjs\KnowEdge\app1\node\u modules\derby\node\u modules\racer\lib\middleware.js:7:26)
位于Object.module.exports.events.init.store.eachContext.context.guardWrite(C:\xampp\htdocs\Derbyjs\KnowEdge\app1\node\u modules\derby\node\u modules\racer\lib\accessControl\accessControl.store.js:54:51)
在accessController(C:\xampp\htdocs\Derbyjs\KnowEdge\app1\node\u modules\derby\node\u modules\racer\lib\txns\txns.Store.js:103:17)
下一步(C:\xampp\htdocs\Derbyjs\KnowEdge\app1\node\u modules\derby\node\u modules\racer\lib\middleware.js:7:26)
在Object.run(C:\xampp\htdocs\Derbyjs\KnowEdge\app1\node\u modules\derby\node\u modules\racer\lib\middleware.js:10:12)
位于Socket.module.exports.events.Socket(C:\xampp\htdocs\Derbyjs\KnowEdge\app1\node\u modules\derby\node\u modules\racer\lib\txns\txns.Store.js:267:26)
位于Socket.racer.log.sockets.sockets.on.Socket.on(C:\xampp\htdocs\Derbyjs\KnowEdge\app1\node\u modules\derby\node\u modules\racer\lib\log.server.js:150:20)
在Socket.EventEmitter.emit[作为$emit](events.js:91:17)
位于SocketNamespace.handlePacket(C:\xampp\htdocs\Derbyjs\KnowEdge\app1\node\u modules\derby\node\u modules\racer\node\u modules\socket.io\lib\namespace.js:335:22)
位于Manager.onClientMessage(C:\xampp\htdocs\Derbyjs\KnowEdge\app1\node\u modules\derby\node\u modules\racer\node\u modules\socket.io\lib\Manager.js:488:38)
在WebSocket.Transport.onMessage(C:\xampp\htdocs\Derbyjs\KnowEdge\app1\node\u modules\derby\node\u modules\racer\node\u modules\socket.io\lib\Transport.js:387:20)
在解析器处。(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)
在op
model.set('news.' + model.id(), {
text: "something"
})
model.add('news', {
text: "Something"
})