在MongoDB中,“queries”和“commands”有什么区别?

7
1个回答

2

我记得在mongodb definitive guide 2nd edition (mongo 2.6)中读到过这个内容,但是这本书只涵盖了mongo2.6。

  1. 查询命令涵盖了诸如CRUD、删除数据库等多个任务。而数据库命令则涵盖了其他所有任务,包括管理任务、克隆数据库等等。(这本书使用的是mongodb v2.6,我相信在mongodbV3.2中,queryCommand有更多的功能可以涵盖一些管理任务)

  2. 在mongoshell中进行查询会返回一个游标,而使用数据库命令则会返回一个包含“ok”状态和一个或多个信息的文档。


以下是使用数据库命令查询地理位置的示例:

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
          }
       }
   }
)

谢谢vdj4y,所以这只是语法上的区别吗?为什么在MongoDb的一组受限查询中要有两种不同的语法形式呢?是否存在性能差异?这只是新功能首先作为命令引入,而不是在查询语言中集成吗? - Antonin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接