Ember,Ember Data,MongoDB _id和命名空间

时间:2013-11-17 10:19:08

标签: node.js mongodb ember.js express ember-data

我是Emberjs的新手,我正在使用MongoDB和Ember开发Nodejs / Express / app。根据{{​​3}},我向我的扩展适配器添加了primaryKeyserializerId

window.Frontend.Adapter = DS.RESTAdapter.extend({
  namespace: 'api',
  serializer: DS.RESTSerializer.extend({
    serializeId: function(id) {
      return id.toString();
    },
    primaryKey: function(type) {
      return "_id";
    }
  })
});

window.Frontend.Store = DS.Store.extend({
  adapter: 'window.Frontend.Adapter'
});

一切都很完美。但命名空间不适合我。该请求将发送至http://localhost:3000/pages而不是http://localhost:3000/api/pages。我什么都不知道。

相关问题的其他资源:

我正在使用Ember 1.1.2和Ember-Data 1.0.0.beta3。谢谢你有什么建议吗?如果您需要更多信息,请告诉我:D

更新如果有类似问题,请转到此Using primary keys with Ember Data

1 个答案:

答案 0 :(得分:2)

Ember Data的情况略有改变。以下代码适用于我使用 Ember 1.3 Ember Data 1.0.0 Beta 5

App = Ember.Application.create();

App.ApplicationSerializer = DS.RESTSerializer.extend({
  primaryKey: '_id',
});

App.ApplicationAdapter = DS.RESTAdapter.extend({
  namespace: 'api'
});

更新:查看latest source code,似乎primaryKey现在是一个字符串。所以你可以放弃serializeId函数,这就像我认为不再存在的那样。