nodeJS を介して、コレクションの状態全体をサーバー (MySQL) に保存および取得する方法を見つけようとしています。したがって、コレクションのフェッチおよび保存機能をオーバーライドしました
var TrackList = Backbone.Collection.extend({
model: app.Track,
fetch: function() {
var socket = io.connect('http://localhost:9001');
socket.emit('load', {id: window.id});
socket.on('success', function(data) {
var collectionState = JSON.parse(data[0].data);
//now what to do with the collectionState on fetch
}
},
save: function() {
var socket = io.connect('http://localhost:9001');
socket.emit('save', { project: app.Tracks.toJSON(), id: window.id });
}
});
app.Tracks = new TrackList();
app.Tracks.fetch();
保存はうまく機能し、node-mysql を使用して MySQL データベースに書き込みます。「ロード」しようとすると、データベースから正しいデータが取得されますが、collectionState オブジェクトを TrackList 自体にプッシュする方法がわかりません。
JSONは正しい形式です(少なくともそう思います)
[{"modelAttr1":"attr1","modelAttr2":"attr2"}]