我想找到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"
    }


但这不好玩,请你帮帮我吗?

最佳答案

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});
              });
            }
        });

关于node.js - .exist如何在 Mongoose 中工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42188151/

10-09 09:55