Angularjs MEANJS检查findOne上是否为null

Angularjs MEANJS检查findOne上是否为null,angularjs,mongodb,meanjs,Angularjs,Mongodb,Meanjs,我刚从MEANJS开始。我正在修改示例文章模块 查看findOne()的代码,它似乎查询数据库,然后返回它并分配给$scope.article // Find existing Article $scope.findOne = function() { $scope.article = Articles.get({ articleId: $stateParams.articleId }); }; 我希望它这样做,像

我刚从MEANJS开始。我正在修改示例文章模块

查看findOne()的代码,它似乎查询数据库,然后返回它并分配给
$scope.article

    // Find existing Article
    $scope.findOne = function() {
        $scope.article = Articles.get({
            articleId: $stateParams.articleId
        });
    };
我希望它这样做,像重定向或显示404的其他东西,如果它返回什么。可能是因为URL上有一个输入错误。我开始测试,通过故意在URL上输入错误ID来查看结果

结果

  • 当ID实际存在时,在控制台中,我会看到“findsomething”后跟“undefined”
  • 当ID不好时,在控制台中,我会看到“find something”后跟“underfined”,然后后跟400个“bad Request”错误

    // Find existing Article
    $scope.findOne = function() {
        $scope.article = Articles.get({
            articleId: $stateParams.articleId
        });
        if ($scope.article) {
            console.log('found something');
            console.log($scope.article._id);
        }
        else    {
            console.log('found NOTHING');
        }
    };
    

底线是,我如何检查我是否真的得到了一些东西?

由于
Articles.get()
函数是异步的,它应该返回一个对象,然后您可以检查返回的对象。像这样的方法应该会奏效:

var self = this;
Articles.get({
    articleId: $stateParams.articleId
}).$promise.then(function(data){
    if (data) {
    console.log('found something');
    console.log(data.article._id);
    self.article = data.article;
}
else {
    console.log('found NOTHING');
});