下面使用的是nodejs
、expressjs
、mongodb
。在直播站点上,它使用的是mongolab
。我正在从前端向服务器发出POST
请求,服务器通过从数据库删除单个匹配记录来处理请求。服务器工作(用ExpressJS
完成,如下所示):
var removeStuff = req.body.removeStuff;
var currentId = req.user._id;
var currentEmail = req.user.email;
myStuff.findOne({
$and: [
{ $or: [{stuff: removeStuff}] },
{ $or: [{apid:currentId},{apiemail:currentEmail}] }
]
}, function (err, currentStuff) {
currentStuff.remove();
res.send('Stuff was removed from database...')
});
真正奇怪的是,当我在localhost
上运行它时,它非常适合这个站点。但是当它处于活动状态时,使请求从数据库中删除所有的记录。
发布于 2015-10-14 11:28:19
好的,我知道了。我不知道原版为什么不起作用,但我发现在this StackOverflow question中有人回答了类似的问题。他们所做的工作是:
var removeStuff = req.body.removeStuff;
var currentId = req.user._id;
var currentEmail = req.user.email;
myStuff.findOneAndRemove({
$and: [
{ $or: [{stuff: removeStuff}] },
{ $or: [{apid:currentId},{apiemail:currentEmail}] }
]
}, function (err) {
res.status(200).send("it worked...");
});
https://stackoverflow.com/questions/33132832
复制