【发布时间】:2013-11-01 11:12:57
【问题描述】:
我是 Backbone 和 MongoDB 的新手。我在销毁模型(由 MongoDB 支持)时遇到问题。我相信这与 MongoDB“文档”使用异常的 _id 属性并且默认情况下未与 Backbone 连接的事实有关。我试过设置idAttribute: '_id' 似乎不能解决问题。
示例 Mongo 文档如下所示:
{
_id: Object
$oid: "527303e82f3504ba5bf4b21f"
__proto__: Object
feeling: "ok"
location: "california"
name: "Kevin"
}
models.coffee
class Models.Campaign extends Backbone.Model
urlRoot: "http://localhost:4567/api/campaigns"
# setting idAttribute: '_id' causes issues rendering the Backbone collection
controller.coffee
...
model.destroy() #=> only removes the item from the dom but does not make a DELETE request
我可以将id 传递给destroy() 函数吗?
有没有人建议如何将 Backbone 与 MongoDB 正确连接,而无需修补大量内置的 Backbone 函数?
【问题讨论】:
-
urlRoot: '/api/campaigns'有效吗?当然要结合idAttribute: '_id'。 -
不完全...设置
idAttribute: 'id'会中断 Backbone 集合的加载,但会尝试使用错误的参数发出 AJAX 删除请求(我真的需要_id.$oid,如上所示)跨度> -
来自服务器的 JSON 看起来像
{_id: ..., $oid: ... }吗?想必服务端想看DESTROY /api/campaigns/527303e82f3504ba5bf4b21f杀掉(服务端)模型吧? -
完全正确,我似乎无法将该 id (
527303e82f3504ba5bf4b21f) 传递给 Backbone 的 destroy() 方法
标签: javascript mongodb backbone.js marionette