不能从mongodb的集合中删除angular MEAN堆栈
Cannot delete from mongodb collection angular MEAN stack
我试图在MEAN堆栈应用程序中删除我的mongodb集合"setlist"中的记录。
index . html
<table class="table">
<thead>
<tr>
<th>Artist</th>
<th>Title</th>
<th>Key</th>
<th>Action</th>
<th> </th>
</tr>
</thead>
<tbody>
<tr ng-repeat="setTrack in setlist" ng-click="clicked">
<td><h4>{{setTrack.Artist}}</h4></td>
<td><h4>{{setTrack.Title}}</h4></td>
<td><h4>{{setTrack.Key}}</h4></td>
<td><button class="btn btn-success" ng-click="removeFromSL(setTrack._id)">Remove from set list</button></td>
</tr>
</tbody>
</table>
controller.js
var myApp = angular.module('myApp', []);
myApp.controller('AppCtrl', ['$scope', '$http', function($scope, $http) {
console.log("Hello World from controller");
var refresh = function() {
$http.get('/setlist').success(function(response) {
console.log("I got the data i requested");
$scope.setlist = response;
$scope.setTrack = "";
});
};
$scope.addToSL = function(id) {
$http.get('/tracks/' + id).success(function(response) {
console.log(response);
$http.post('/setlist', response).success(function(response) {
console.log(response);
refresh();
});
});
};
$scope.removeFromSL = function(id) {
console.log(id);
$http.delete('/setlist/' + id).success(function(response) {
refresh();
});
};}]);
server.js
var express = require('express');
var app = express();
var mongojs = require('mongojs');
var db = mongojs('tracks', ['tracks']);
var db1 = mongojs('setlist', ['setlist']);
var bodyParser = require('body-parser');
app.use(express.static(__dirname = ''public'));
app.use(bodyParser.json());
app.get('/setlist', function (req, res) {
console.log("I recieved a get request");
db1.setlist.find(function (err, docs) {
console.log(docs);
res.json(docs);
});
});
app.delete('/setlist/:id', function (req, res) {
var id = req.params.id;
console.log(id);
db1.setlist.remove({_id: mongojs.ObjectId(id)}, function(err, doc) {
res.json(doc);
});
});
app.listen(3000);
console.log("Server running on port 3000");
当我点击remove from set list按钮时,控制器和服务器,触发正确的函数,因为记录id被打印到控制台和服务器终端,但记录没有从集合中删除。
这里可能存在两个问题。
首先,最可能的是你的删除查询{_id: mongojs.ObjectId(id)}
不匹配数据库中的任何文档。
第二,你有一些错误在删除阶段。
所以我建议如下。检查是否删除查询实际上有文档要删除这样做find({_id: mongojs.ObjectId(id)})
。如果文件将被发现,然后尝试打印err
,看看你有什么。
文档
相关文章:
- 谷歌地图/Angular JS:地图更新并不总是反映数据,并且可以't删除标记
- 删除处于抽象状态的参数angular
- 使用jQuery或Angular动态添加或删除表行
- 为什么从 Angular 服务中的对象中删除此元素不起作用
- 使用Angular添加EventListener并将其删除
- AngularJS-由$scope创建的作用域何时执行$new()已删除.垃圾收集器或Angular负责处理它吗
- 删除Angular JS中的辅助HTML注释
- 我想删除我正在做的angular项目中上传的照片
- 如何删除Angular.js项目中的.NET
- 如何从 Mongo DB 中删除 Angular 页面中的选定文档
- 如何在标签页关闭时删除angular.js v1.3 cookie
- 删除angular控制器实例
- 如何“删除”angular.js中的作用域变量
- 不能从mongodb的集合中删除angular MEAN堆栈
- 我应该删除Angular手表吗?
- 删除Angular中同一个类的多个元素,但留下第一个
- 删除angular ng重复中的类
- 动态删除angular.module()
- 删除Angular中动态创建的弹出窗口
- 当复选框为True时,删除angular中构建的数组中的对象