【发布时间】:2015-10-15 03:42:40
【问题描述】:
以下使用nodejs、expressjs、mongodb。在实时站点上,它使用mongolab。我正在从前端向服务器发出POST 请求,服务器通过从数据库中删除 single 匹配记录来处理请求。服务端工作(在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 上运行它时,它非常适合该网站。但是当它生效时,发出请求会从数据库中删除 ALL 记录。
【问题讨论】:
-
这是不可能的,除非它是 mongoose 的错误。其他地方必须有代码是有问题的代码。您在对集合没有影响的文档上调用
.remove()。 -
嗯,我一直在寻找错误...再次它在本地主机上完美运行,所以也许它可能与猫鼬有关?我看到以前有这种错误,但它是在 2013 年 github.com/Automattic/mongoose/issues/1649
标签: javascript node.js mongodb express mlab