有没有人使用名称的对使用经验:布尔与数字置换类型表示,并且最好如此显示。以下是单个记录/行的一部分。
{ ... {status { working: true, married: false }} ...}
与
{ ... {status: 3} ... }
在后者中,我们需要一个排列 (不工作+未婚= 1;工作+未婚= 2;不工作+已婚= 3;工作+已婚= 4)
每个人都需要各自的查询:
{status.married: true}
VS
{status: {$in : [3,4]}}
进一步考虑的是,大多数查询不是单个短语,而是{status.married: true}, {status.working: true}
或{$or: [{status.married: true}, {status.working: true}]}
后一种形式更简单{status: {$in : [2,3,4]}}
考虑因素包括单一与两个指数。
我不确定什么是更可读的?重构置换风格似乎更容易。但是客户需要知道正确的顺序。
答案 0 :(得分:1)
布尔方法的优点:
数字置换类型的优点:
我不认为这是一个固有的速度优势。这取决于您运行的数据和actaul查询。
考虑您真正关心的上述哪一项,并根据此做出决定。
我倾向于始终采用明确的(" -is-better-than-implicit")。