MongoDb中的“查询”和“命令”有什么区别

时间:2016-09-07 22:06:12

标签: mongodb geolocation

Hello MongoDB文档指定有多种方法可以检索地理位置附近的文档:

我不明白命令和操作符/查询之间的区别?这些命令似乎与查询对应命令完全相同?

PS:我在我的应用程序中使用scala reactivemongo连接器。

1 个答案:

答案 0 :(得分:1)

我记得从mongodb definitive guide 2nd edition (mongo 2.6)读取它,但本书仅涵盖了mongo2.6。

  1. 查询命令涵盖了CRUD,drop database等几个任务。虽然数据库命令涵盖了其他所有内容,包括管理任务,克隆数据库等。(本书使用mongodb v2.6,我相信mongodbV3.2 queryCommand有更多功能可以覆盖一些管理任务)

  2. mongoshell中的
  3. 查询返回了一个游标,而database命令返回了一个始终具有“ok”状态的文档,以及一个或多个信息。

  4. 使用数据库命令

    查询地理位置的示例
    db.runCommand( {
           geoNear: <collection> ,
           near: { type: "Point" , coordinates: [ <coordinates> ] } ,
           spherical: true,
           ...
        } )
    

    使用查询命令查询数据库的示例

    db.places.find(
       {
         location:
           { $near :
              {
                $geometry: { type: "Point",  coordinates: [ -73.9667, 40.78 ] },
                $minDistance: 1000,
                $maxDistance: 5000
              }
           }
       }
    )