find的参数使用方法


find参数

  • query: 查询条件,MongoDB默认的第一个参数。
  • fields: (返回内容)查询出来后显示的结果样式,可以用true和false控制是否显示。
  • limit: 返回的数量,后边跟数字,控制每次查询返回的结果数量。
  • skip: 跳过多少个显示,和limit结合可以实现分页。
  • sort: 排序方式,从小到大排序使用1,从大到小排序使用-1。

分页Demo

明白了上面这些选项,现在可以作一个最简单的分页,我们把同事集合(collections)进行分页,每页显示两个,并且按照年龄从小到大的顺序排列。

db.workmate.find({},{name:true,age:true,_id:false}).limit(0).skip(2).sort({age:1});

$where修饰符

它是一个非常强大的修饰符,但强大的背后也意味着有风险存在。它可以让我们在条件里使用javascript的方法来进行复杂查询。我们先来看一个最简单的例子,现在要查询年龄大于25岁的人员。

db.workmate.find(
    {$where:"this.age>25"},
    {name:true,age:true,_id:false}
)

这里的this指向的是workmate(查询集合)本身。这样我们就可以在程序中随意调用。虽然强大和灵活,但是这种查询对于数据库的压力和安全性都会变重,所以在工作中尽量减少$where修饰符的使用。


文章作者: 技术潘
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 技术潘 !
  目录