考虑一个集合 age 字段。 age Integer 值:
age
age Integer 值:
Integer 值:
Integer
查询20-23岁用户时,可写为: "age": { "$gte": 20 "$lte": 23, }, 由于我们知道年龄范围,查询也可以写为: "age": { "$in": [20,21,22,23] }, 使用时查询性能是否更好? $in 或 $gte , $lte ?
查询20-23岁用户时,可写为:
"age": { "$gte": 20 "$lte": 23, },
由于我们知道年龄范围,查询也可以写为:
"age": { "$in": [20,21,22,23] },
使用时查询性能是否更好? $in 或 $gte , $lte ?
$in
$gte
$lte
我不认为两者在性能上有很大的区别 $in 和 $gte 当你有小阵列的时候。显然,当您在 >$in->code>operator中使用具有大量元素的数组时,最好使用 >$gte->code>,因为mongo不需要将一个值与数组中的每个值进行比较,只需使用两个值的条件表达式就可以更快。关于可读性的更多信息,最好使用 >$gte 和 $lte . 因此,在通常情况下,我会使用 >$gte 和 >$lte 。
>$in->code>operator中使用具有大量元素的数组时,最好使用 >$gte->code>,因为mongo不需要将一个值与数组中的每个值进行比较,只需使用两个值的条件表达式就可以更快。关于可读性的更多信息,最好使用 >$gte 和 $lte . 因此,在通常情况下,我会使用 >$gte 和 >$lte 。
>$gte->code>,因为mongo不需要将一个值与数组中的每个值进行比较,只需使用两个值的条件表达式就可以更快。关于可读性的更多信息,最好使用 >$gte 和 $lte . 因此,在通常情况下,我会使用 >$gte 和 >$lte 。
>$gte 和 $lte . 因此,在通常情况下,我会使用 >$gte 和 >$lte 。
和 $lte . 因此,在通常情况下,我会使用 >$gte 和 >$lte 。
>$gte
>$lte