2017-02-12 43 views
0

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

但它不工作的樂趣,你能幫我嗎?

+0

你有沒有定義的圖像作爲模型的一部分嗎?你能展示模型嗎? – notionquest

+0

是的,我有。最好找到4個圖像長度大於0的帖子。 – 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

您可以使用$或查詢。讓我更新答案。 – AKASH

+0

現在,它的工作。謝謝! – Joseph