Backbone.js发布POST而不是PUT(mongoose set _id为id)

时间:2012-06-26 11:28:41

标签: backbone.js mongoose

Backbone.js对更新的对象而不是PUT进行POST。

我认为这是因为mongoDB使用_id而不是id。

我怎么说backbone.js使用_id代替id?

我已经尝试过一些服务器端更改,但我认为骨干应该使用另一个属性作为id会更容易。 MongoDB: output 'id' instead of '_id'

2 个答案:

答案 0 :(得分:6)

来自精细的手册http://backbonejs.org/#Model-idAttribute

  

idAttribute model.idAttribute

     

模型的唯一标识符存储在id属性下。如果你直接与a通信   您可以使用不同的唯一键的后端(CouchDB,MongoDB)   设置Model的idAttribute以透明地从该键映射到id。

答案 1 :(得分:0)

Id属性可以按照

这样的模型进行更改
var Meal = Backbone.Model.extend({
  idAttribute: "_id"
});

要使其成为所有模型的默认值(例如,如果我们使用的是mongodb),请通过将此LOC放入在backbone.js之后运行的app js文件中覆盖默认设置

//override the id attribute for model
Backbone.Model.prototype.idAttribute = '_id';