如果其他的工作与我想要的完全相反

基恩·金

以下代码是控制器的一部分,该控制器可切换帖子的“赞”状态。

它是这样的:

  1. 首先,它会查找用户在帖子中的任何赞。
  2. 如果不存在,请像状态一样“保存”。
  3. 如果存在,则“删除”现有的赞状态。

这里的代码是:

// api/posts
exports.postLikes = function(req,res){
    var like = new Like({
        postId: req.params.postId,
        user: req.user._id
    });
    Like.find()
    .and([
        {user:req.user._id},
        {postId:req.params.postId}
    ]) // check for existing likes
    .exec(function(err, result){
        if(!result){ // if there is no result
            like.save(function(err){
                if(err){res.send(err);}
                Post.findById(req.params.postId, function(err,post){
                    if(err) return res.send(err);
                    post.likeId.push(like);
                    post.save(function(err){
                        if(err) return res.send(err);
                        res.json({status:'done'})
                    });
                });
            });
        }else{ //if there is result
            res.json({status:'deleted'}) // just says deleted for now
        };
    });
};

但是,它{status:'deleted'}在没有结果时返回,并在已有结果时添加其他点赞。

结果返回像存储在MongoDB中一样

{ _id: 555f4ee2f0ea4f8004690ba5,
  postId: 555e649b3e5e24f0200f0f16,
  user: 555e1c9fd5ec350421ec7cfa,
  __v: 0,
  created: Sat May 23 2015 00:44:34 GMT+0900}

如果不存在,则返回

[]

我更改了代码以简化测试工作

if(result != null){
    res.send(result + "deleted")
}else{
    res.send(result + "added")
};

现在两个都说结果+“已删除”

下午77-1

文档中(我特别强调):

除非将它们定义为虚假否则所有值都是真实的(即,除了false0“”nullundefinedNaN之外)。

空数组([])不是上面的列表上,所以它的truthy

您可能要返回null

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

我的iptables与我想要的相反

PHP奇怪,如果其他循环输出,如果我使与当前条件完全相反

PictureBox 更改为与我想要的相反

如果其他声明不能按照我想要的方式在php中工作

其他 / 其他 如果不工作

如果条件为“无”,则循环从我想要的其他地方开始

如果我想要一个带有其他图像的图像,是否需要多个数据库表?

鼠标Y坐标与我期望的相反

TryCast返回与我预期相反的结果

熊猫的功能与我期望的相反

基本的PHP其他,如果不工作

如果其他图表处于运行状态,我如何使 Helm 图表挂钩安装后工作

我想完全匹配“与我们联系”页面,但无法正常工作

我认为 Splice(remove) 方法的工作方式与其实际工作完全相反

如果其他,我还缺少什么?

如何使我的其他操作正常工作?

如果我的 bundle id 与我的反向 url 不完全匹配,我会遇到什么问题?

我的代碼並沒有完全按照我想要的方式工作。[解決了]

承诺异常处理并尝试/捕获与我期望的相反

为什么此递归函数似乎与我期望的相反?

For / In循环吐出随机数,这与我假设的相反

提供其他应用程序与我的应用程序共享图像并打开/使用它

button1.setButton(false)不会与我的其他代码链接

如何重新采样 csv 以便它可以与我的其他 csv 完美对齐

如何与我的网络上的其他计算机共享VPN连接

如果其他条件不能正常工作反应

python 如果其他標誌不能正常工作

如果/其他在重新加载页面后仍在工作

如果值相同,则从其他工作表复制通道