【发布时间】:2012-06-27 17:07:49
【问题描述】:
Backbone.js 发送更新对象的 POST 而不是 PUT。
我认为这是因为 mongoDB 使用 _id 而不是 id。
如何说backbone.js 使用_id 而不是id?
我已经尝试了一些服务器端的更改,但我认为只说骨干网应该使用另一个属性作为 id 会更容易。 MongoDB: output 'id' instead of '_id'
【问题讨论】:
标签: backbone.js mongoose
Backbone.js 发送更新对象的 POST 而不是 PUT。
我认为这是因为 mongoDB 使用 _id 而不是 id。
如何说backbone.js 使用_id 而不是id?
我已经尝试了一些服务器端的更改,但我认为只说骨干网应该使用另一个属性作为 id 会更容易。 MongoDB: output 'id' instead of '_id'
【问题讨论】:
标签: backbone.js mongoose
来自精品手册http://backbonejs.org/#Model-idAttribute
idAttribute model.idAttribute
模型的唯一标识符存储在 id 属性下。如果您直接与 使用不同唯一键的后端(CouchDB、MongoDB),您可以 设置模型的 idAttribute 以透明地从该键映射到 id。
【讨论】:
Id 属性可以像每个模型一样更改
var Meal = Backbone.Model.extend({
idAttribute: "_id"
});
要将其设为所有模型的默认设置(例如,如果我们使用 mongodb),请将此 LOC 放置在您的应用 js 文件中,该文件运行在主干.js 之后,从而覆盖默认设置
//override the id attribute for model
Backbone.Model.prototype.idAttribute = '_id';
【讨论】: