2017-02-12 11 views
0

私の画像には4つの投稿があります。私はこのコードを使用しています:.existはどのようにしてマングースで働くのですか

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

しかし、それは楽しい動作しませんが、あなたは私を助けてくださいますか?

+0

あなたがモデルの一部として画像を定義していますか?モデルを表示できますか? – notionquest

+0

はい私は持っています。画像の長さが0より大きい4つの投稿を見つける方が良いです。 – Joseph

答えて

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

ありがとうございます。長さを確認するにはどうすればよいですか?ユーザはそのイメージを後で削除し、イメージは ''になります。空の文字列もスキップします。あなたはそれをする方法を知っていますか? – Joseph

+0

$またはqueryを使用することができます。答えを更新しましょう。 – AKASH

+0

これで動作します。ありがとう! – Joseph

関連する問題