如何使用 MongoDb 特定运算符 $size 查找大于、小于、介于和不等于 Laravel / jenssegers 中的值的数组大小?

How to use MongoDb specific operator $size to find array size greater than, less than, between and not equal to a value in Laravel / jenssegers?

我正在研究 Laravel dynamic where 子句 eloquent 模型。我想找到大小为大于、小于、介于和不等于的数组字段大小的集合。

我正在使用 jenssegers,在 jenssegers 文档中,给出了查找数组大小为特定值的文档的代码,但我需要将其用于 find <,>,!=between.

User::where('tags', 'size', 3)->get();

我不能使用聚合和 $where,因为我使用的是动态 where 子句来查找所需的结果。

最后,我自己解决了这个问题。答案是:

$query->whereRaw(['$where' => 'this.tags.length > 1'])