我正在开发一个Node.js / Backbone.js SPA并将我的一些数据从JSON文件移到Mongo。我已经用Mongoose建立了一个api,我的数据正在发布到服务器上。但是,当我尝试从Mongo获取数据时,它只返回我的集合中的最后一项。
我的Backbone.js代码中唯一的变化是我在Backbone Collection中定义的url。
旧集合,可以毫无问题地获取所有JSON数据:
var SupplyCategoriesCollection = Backbone.Collection.extend({
model: SupplyCategory,
url: '/supplies',
});
New Collection仅提取Mongo数据库中的最后一项
var SupplyCategoriesCollection = Backbone.Collection.extend({
model: SupplyCategory,
url: '/api/products',
});
当我导航到http://localhost:3000/api/products
时,我会获得与导航到http://localhost:3000/supplies
时完全相同的数据。
答案 0 :(得分:1)
答案是我没有更改Backbone集合和模型中的默认idAttribute:
e.g:
var SupplyCategoriesCollection = Backbone.Collection.extend({
model: SupplyCategory,
url: '/api/products/',
"idAttribute: "_id",
});