node.js - .exist 如何在 Mongoose 中工作

标签 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"
    }

但这并不有趣,你能帮我吗?

最佳答案

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/

相关文章:

node.js - 如何从现有模型创建新的 Sails 模型

node.js - 能够为每个BrowserWindow对象创建一个新 session ?

mongodb - hasMany关系为NULL时grails对象查询

ruby-on-rails - 您如何在 Ruby on Rails 中为 Mongoid 建立关系?

javascript - 选择具有矩形或 Angular 嵌套数组元素

node.js - 如何将自定义连接器集成到 Botium Box

node.js - 覆盖socket.io发射并开启?

javascript - Meteor JS 后端与 Express JS

node.js - Mongoose - 可能的循环依赖?

node.js - 如何将 $match 与条件 if-else 一起使用?