.exist是如何在猫鼬中工作的

时间:2017-02-12 13:32:00

标签: node.js mongodb mongoose

我想找到4个有图片的帖子。我正在使用此代码:

  Post.find({}, function (err, posts) {
    if (err) {
      req.flash('error', 'An unknown error has occurred.');
      res.redirect('back');
    } else {
        res.render("home", {posts});
      });
    }
  }).exists(image, true).limit(4).sort( { date: -1 } );

一篇文章看起来:

{
    "_id" : ObjectId("586e15b21f647007ec22a171"),
    "title" : "Some title is here",
    "category" : "node",
    "body" : "Lorem ipsum dolor sit amet",
    "image" : "1486300310990-14775211410_42b8d244da_o.jpg",
}

所以应该跳过没有任何图片的帖子。 像这样:

  {
        "_id" : ObjectId("586e15b21f647007ec22a171"),
        "title" : "Some title is here",
        "category" : "node",
        "body" : "some txt"
    }

但它没有乐趣,请你帮我吗?

1 个答案:

答案 0 :(得分:1)

Post.find({'image' : {$exists : true}}, function (err, posts) {
 if (err) {
      req.flash('error', 'An unknown error has occurred.');
      res.redirect('back');
    } else {
        res.render("home", {posts});
      });
    }
});

尝试上面的代码。

更新了代码......

  Post.find({$or : [{image: {$exists : true}},{image: ''}]}, function (err, posts) {
         if (err) {
              req.flash('error', 'An unknown error has occurred.');
              res.redirect('back');
            } else {
                res.render("home", {posts});
              });
            }
        });