我正在尝试找到一种方法,如何通过 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 数据库。尝试“加载”时,我从数据库中获取了正确的数据,但我不知道如何将 colletionState 对象推送到 TrackList 本身。
JSON格式正确(至少我认为)
[{"modelAttr1":"attr1","modelAttr2":"attr2"}]