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连接:
注:最新版的robomongo已经取消了ssh tunnel功能(不知为何)。需要的得自己弄,比如通过SecureCRT。