我在这个问题上坚持了整整2天。 我使用Ruby On Rails,MongoDB和AngularJS。当我向数据库添加新记录时,此记录已成功添加到集合(表)中,但我无法将此记录自动显示到当前项目列表中。
我这样做:
$scope.posts.push(angular.extend(p, response.id));
$scope.posts.push(angular.extend(p, {id: response.id})); //tried also
$scope.posts.push(angular.extend(p, {_id: response.id.$oid})); //tried also
$scope.posts.push(angular.extend(p, {id: response.id.$oid})); //tried also
$scope.posts.push(response.id); //tried also
$scope.posts.push(response); //tried also
记录仍未在现有记录中得到。刷新页面后,此记录已经显示在其他页面中。 (仅供参考 - 删除记录,splice
效果很好。)
经过一番调查,可能是由MongoDB集合/文档的结构引起的?
我注意到当我从MongoDB数据库加载数据时,哈希看起来像这样:
Resource {_id: Object, body: null, created_at: "2015-10-26T19:14:13.016Z", starred: null, title: "u8u88u8u", updated_at: "2015-10-26T19:14:13.016Z", __proto__: ...}
注意第一项(下划线) - _id
。
Resource {id: Object, title: "bla bla bla", body: null, starred: null, created_at: "2015-10-27T15:40:04.462Z"…}
注意第一项 - id
。
可能是我试图将包含id
而不是id
的项目推送到数组的问题,因此哈希的结构不相同?
我无法将这项工作工作两天,所以这可能是我在这里输入的无意义,但是试图在纸上写下为什么新创建的记录不会自动推送到现有文件的所有可能问题项目数组。
提前谢谢。