我有文章和用戶集合。 userId
是模型數據類型Schema.ObjectId
。在視圖中,我展示了所有文章,並在頂部顯示了所有用戶的下拉列表以過濾文章。如果選擇了下拉的佔位符,則所有文章都將返回,如果選擇了任何用戶,那麼該用戶的文章將被退回。我的API代碼如下。當選擇下拉的佔位符時,UserId
查詢字符串將具有空值,否則它將具有任何正在出現的用戶ID。如果條件變量爲空,如何返回所有記錄?
exports.list = function (req, res) {
var userId = '';
if (req.query.UserId) {
userId = req.query.UserId;
}
Article.find({userId: userId}).exec(function (err, articles) {
if (err) {
return res.status(400).send({
message: errorHandler.getErrorMessage(err)
});
} else {
res.json(articles);
}
});
};
現在的問題是,因爲當查詢字符串參數爲空,查詢試圖尋找其中有userId
爲空白這些條款我不能返回的所有文章。那麼,如果條件參數爲空或空,我怎麼能跳過條件檢查?
我想要做的和下面給出的一樣,即C#LINQ查詢。
var userId = <value from query string>;
var lstArticles = dbContext.Articles.Where(objArticle => (userId == '' || objArticle.userId == userId));
@chridam對不起我的壞,這是錯字,糾正它。 – Xyroid