【问题标题】:Backbone.js sents POST instead of PUT (mongoose set _id to id)Backbone.js 发送 POST 而不是 PUT(mongoose 将 _id 设置为 id)
【发布时间】: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


    【解决方案1】:

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

    idAttribute model.idAttribute

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

    【讨论】:

      【解决方案2】:

      Id 属性可以像每个模型一样更改

      var Meal = Backbone.Model.extend({
        idAttribute: "_id"
      });
      

      要将其设为所有模型的默认设置(例如,如果我们使用 mongodb),请将此 LOC 放置在您的应用 js 文件中,该文件运行在主干.js 之后,从而覆盖默认设置

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-07-27
        • 2016-06-14
        • 2017-10-09
        • 1970-01-01
        • 2014-03-14
        • 2012-05-27
        相关资源
        最近更新 更多