千家信息网

MongoDB1.9.1中有哪些定制化功能

发表于:2024-11-28 作者:千家信息网编辑
千家信息网最后更新 2024年11月28日,MongoDB1.9.1中有哪些定制化功能,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。MongoDB1.9.1有哪些定制化的功能简单的
千家信息网最后更新 2024年11月28日MongoDB1.9.1中有哪些定制化功能

MongoDB1.9.1中有哪些定制化功能,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

  MongoDB1.9.1有哪些定制化的功能

  简单的字符串定义

  myReplSetName:SECONDARY>prompt=">"

  >

  >//ah,bliss

  >

  >//somesysadminsthink>isaweirdprompt,asit'salso

  >//usedforredirections,sotheymightprefer$

  >prompt="$"

  $

  $//therewego

  函数式定义

  >prompt=function(){returndb+">";}

  test>usefoo

  foo>usebar

  bar>

  更复杂的函数

  >states=["STARTUP","PRIMARY","SECONDARY","RECOVERING","FATAL",

  ..."STARTUP2","UNKNOWN","ARBITER","DOWN","ROLLBACK"]

  >

  >prompt=function(){

  ...result=db.isMaster();

  ...if(result.ismaster){

  ...returndb+">";

  ...}

  ...elseif(result.secondary){

  ...return"("+db+")>";

  ...}

  ...result=db.adminCommand({replSetGetStatus:1})

  ...returnstates[result.myState]+":"+db+">";

  ...}

  (test)>

  MongoDB1.9.1有哪些定制化的功能

  告诉你是否连接的是mongos机器

  >prompt=function(){

  ...result=db.adminCommand({isdbgrid:1});

  ...if(result.ok==1){

  ...return"mongos>";

  ...}

  ...return">";

  ...}

  告诉你当前的时间

  >prompt=function(){

  ...varnow=newDate();

  ...returnnow.getHours()+":"+now.getMinutes()+":"+now.getSeconds()+">";

  ...}

  10:30:45>db.foo.count()

  60000

  10:30:46>

  还可以定义在配置文件里

  $#loadfromcommandlinearg:

  $mongoshellConfig.js

  MongoDBshellversion1.9.1-

  connectingto:test

  >

  >//loadfromtheshellitself

  >load("/path/to/my/shellConfig.js")

  另一个新功能是自动加载的配置文件,类似于.bashrc,这个文件会叫.mongorc.js

  你可以写你想在连接时执行的内容

  //mystartupfile

  prompt=/*...*/

  //getting"notmasterandslaveok=false"errorsdrivesmenuts,

  //soI'moverridingthegetDB()codetoALWAYSsetslaveok=true

  Mongo.prototype.getDB=function(name){

  this.setSlaveOk();

  returnnewDB(this,name);

  }

  /*andsoon...*/

看完上述内容,你们掌握MongoDB1.9.1中有哪些定制化功能的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

0