使用mongo命令行查询数据

    查询可以返回集合中的所有文档,或者仅仅返回指定过滤条件的文档。你可以指定一个过滤条件或才一个判断条件作为参数传递给find()方法。

    find()方法在一个游标中返回所有的结果集,通过游标的迭代可以输出所有文档。

    查询集合中的所有文档

    查询集合中的所有文档,直接调用集合的find()方法,不需要指定条件。如下命令查询restaurants中的所有文档。

    返回的结果集包含restaurants所有的文档。

    指定”等于”条件

    查询条件如果是某个字段上的“等于”匹配的话,具有如下格式:

      如果就文内嵌字段,或者是数组,使用“.”号访问字段。而且必要使用相号括住整个字段名。

      下面的命令查询所有borough字段值为”Manhattan”的文档。

      1. db.restaurants.find( { "borough": "Manhattan" } )

      查询的结果集中仅包含匹配的文档。

      根据数组中的字段查询

      在restaurants集合中,grades数组包含了内嵌文档作为它的元素。使用“.”号可以在内嵌文档中的某个字段上指定一个条件。同样,需要用引号括住有点号的引用。如下命令查询grades包括一个内嵌文档,它的grade字段的值为’B’的所有文档。

      指定操作条件查询

      MongoDB提供了一些操作用来指定查询条件,比如比较操作。一些操作是除此之外的,比如$or$and条件操作。使用操作的查询条件的格式如下:

      1. { <field1>: { <operator1>: <value1> } }

      小于操作($lt)

      逻辑AND

      你可以使用逻辑AND用于查询条件之间,使用逗号隔开。

      1. db.restaurants.find( { "cuisine": "Italian", "address.zipcode": "10075" } )

      你可以为多个查询条件中使用逻辑OR,使用$or查询操作。

      1. db.restaurants.find(
      2. )

      当然,$and也可以使用上面的语法。

      排序查询结果

      指定查询结果排序方式的就是在查询后追加一个sort()方法调用。传递给此方法一个文档,包含指定排序字段和排序类型。1表示长充,-1表示降序。

      如上命令,先按borough字段升序排列,再按address.zipcode升序排。