MongoDB / MongoLab 删除请求在本地有效,但在实时删除数据库

MongoDB / MongoLab Remove request works locally but deletes database when live

以下使用nodejsexpressjsmongodb。在实时站点上,它使用 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 上时,这对网站来说是完美的。但是当它处于活动状态时,发出请求会从数据库中删除 ALL 记录。

好的,我知道了。我不确定为什么原来的问题不起作用,但我发现在 this Whosebug 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...");
});