Laravel 是否有一种方法可以雄辩地传递条件,即如果密钥存在,则不';是否从集合中发送对象(在mongodb中)?

Laravel 是否有一种方法可以雄辩地传递条件,即如果密钥存在,则不';是否从集合中发送对象(在mongodb中)?,laravel,mongodb,eloquent,Laravel,Mongodb,Eloquent,我使用的是jenssegers/laravel mongodb, 我有一个集合段,我不想让那些对象通过具有名为“unrooted”的键的eloquent发送,也就是说,传递一个条件来检查集合中是否设置了“unrooted”键,所以我希望 $condition[' ? '] = false; // $condition unrooted exists is false. $segments = Segment::where($condition)->get(); 我知道可以像让所有对象通

我使用的是jenssegers/laravel mongodb, 我有一个集合段,我不想让那些对象通过具有名为“unrooted”的键的eloquent发送,也就是说,传递一个条件来检查集合中是否设置了“unrooted”键,所以我希望

$condition[' ? '] = false;  // $condition unrooted exists is false.
$segments = Segment::where($condition)->get();
我知道可以像让所有对象通过条件一样,然后

foreach($segments as $key => $segment){
    if(property_exists($segment, 'unrooted')){
        unset($segments[$key]);    
    }
} 
dd(array_values($segments->toArray());
但对于我来说,如果收集量很大,它就没有效率了。
感谢您的帮助。

这很简单,只是使用了mongodb文档,将其发布在这里供将来参考

$condition['$exists'] = false; 
这就是诀窍