1
我从某些会话变量创建一个MongoDB选择器。如果会话值为空,则选择器不应包含该条件。用JavaScript中的if语句构造一个选择器
我有一个选择
return Session.get('title') ? { title: Session.get('title') } : {};
其作品,因为它应该;但是,我想过滤更多的会话值。
如果我再加一条,我得到
var title = Session.get('title');
var age = Session.get('age');
if (title && age) {
return {
title: title,
age: age
};
} else if (title) {
return {
title: title
};
} else if (age) {
return {
age: age
}
} else {
return {}
}
,当我添加另一个会话值只会变得更加复杂。
如何以更智能的方式获得相同的结果?
看来您的代码目前正常工作,而您正在寻求改进它。一般来说,这些问题对于这个网站来说太过分了,但是你可能会在[CodeReview.SE](http://codereview.stackexchange.com/tour)找到更好的运气。请务必阅读[他们的问题要求(http://codereview.stackexchange.com/help/on-topic),因为它们比本网站更严格。 –
是的,我的代码有效,但如果我有10多个会话变量来构造我的选择器,这不是一种不切实际的方法吗?我不认为这是一个简单的对立改进 – Jamgreen
那么,你会看到更多的变数。确实有很大的改进空间,很大的空间。由于有很多方法可以做到这一点,所以不可能给出明确的答案,而“最佳”方式取决于代码风格和个人偏好。 –