mongo shell是一个用来连接MongoDB的JavaScript接口,提供给用户查询和操作MongoDB中的数据、以及用来对MongoDB进行管理。



启动并自动连接到一个MongoDB实例:


缺省安装在“/usr/bin/”中,用“which”命令可以查看到:

# which mongo 

 

  /usr/bin/mongo 

 

  所以可以直接运行: 

 

  # mongo 

 

   MongoDB shell version: 3.2.3 
 
 
 

   connecting to: test 
 
 

  ……


缺省连接到localhost的27017端口,并缺省地使用test数据库。



切换到其他数据库:


> use <db_name>



插入(Create):

"db"表示当前使用的db。


比如:

> db.testCollection.insert({name: "Xu"}) 
 
 
 

   WriteResult({ "nInserted" : 1 })



查询(Read):




> db.<collection_name>.find()    #没带条件表示查询所有,缺省返回20条


比如:


> db.testCollection.find() 
   { "_id" : ObjectId("56ca7c37012557f8f72c9a1f"), "name" : "Xu" }


美化查询结果:


> db.myCollection.find().pretty()



修改(Update):



#(第一个参数是查询条件,第二个参数是update的内容)

  比如:
> db.testCollection.update(
  ... {name: "Xu"}, 

  ... {name: "Clement-Xu"}) 
  WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 }) 
> db.testCollection.find().pretty()
   { "_id" : ObjectId("56ca7c37012557f8f72c9a1f"), "name" : "XuJijun" }


删除(Delete):

>

db.<collection_name>.remove( { key : "value" } )    #如果不带参数,则删除所有



比如:


> db.testCollection.remove( 

   ... {name: "Clement-Xu"}) 
   WriteResult({ "nRemoved" : 1 })


退出mongo shell:


> quit() 或 exit 或 <Ctrl-c>



图形化(GUI)客户端:

需要修改MongoDB的配置文件,去除ip绑定:

vi /etc/mongod.conf


把这句话注释掉:



 

bindIp: 127.0.0.1


然后重启服务:


# service mongod restart



启动robomongo之后指定ip和port连接:




mongodb compass 执行 命令 mongodb的shell命令_常用命令





注:最新版的robomongo已经取消了ssh tunnel功能(不知为何)。需要的得自己弄,比如通过SecureCRT。