免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2421 | 回复: 0

[MongoDB] How-to write Perl script for MongoDB [复制链接]

论坛徽章:
0
发表于 2011-12-23 01:19 |显示全部楼层
<DIV>
<DIV class=t_fsz>
<TABLE cellSpacing=0 cellPadding=0>
<TBODY>
<TR>
<TD id=postmessage_17305972 class=t_f>&gt; db.foo.insert({"x":new Date(2010,0,24,9,23,34)});&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<BR>&gt; db.foo.insert({"x":new Date(2010,0,26,9,23,34)});<BR>&gt; db.foo.insert({"x":new Date(2010,0,27,9,23,34)});<BR>&gt; db.foo.insert({"x":new Date(2010,0,30,9,23,34)});<BR>&gt; db.foo.insert({"x":new Date(2010,1,02,9,23,34)});<BR>&gt; <BR>&gt; db.foo.find();&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <BR>{ "_id" : ObjectId("4d65bbec3ebb3cfc9ca664e0"), "x" : "Sun Jan 24 2010 09:23:34 GMT+0800 (CST)" }<BR>{ "_id" : ObjectId("4d65bbf23ebb3cfc9ca664e1"), "x" : "Tue Jan 26 2010 09:23:34 GMT+0800 (CST)" }<BR>{ "_id" : ObjectId("4d65bbf53ebb3cfc9ca664e2"), "x" : "Wed Jan 27 2010 09:23:34 GMT+0800 (CST)" }<BR>{ "_id" : ObjectId("4d65bbf93ebb3cfc9ca664e3"), "x" : "Sat Jan 30 2010 09:23:34 GMT+0800 (CST)" }<BR>{ "_id" : ObjectId("4d65bc023ebb3cfc9ca664e4"), "x" : "Tue Feb 02 2010 09:23:34 GMT+0800 (CST)" }<BR>&gt; <BR>&gt; db.foo.find({"x":{$lt:new Date(2010,0,27,9,23,34)}}); <BR>{ "_id" : ObjectId("4d65bbec3ebb3cfc9ca664e0"), "x" : "Sun Jan 24 2010 09:23:34 GMT+0800 (CST)" }<BR>{ "_id" : ObjectId("4d65bbf23ebb3cfc9ca664e1"), "x" : "Tue Jan 26 2010 09:23:34 GMT+0800 (CST)" }<BR>&gt; <BR>&gt; db.foo.find({"x":{$gt:new Date(2010,0,27,9,23,34)}}); <BR>{ "_id" : ObjectId("4d65bbf93ebb3cfc9ca664e3"), "x" : "Sat Jan 30 2010 09:23:34 GMT+0800 (CST)" }<BR>{ "_id" : ObjectId("4d65bc023ebb3cfc9ca664e4"), "x" : "Tue Feb 02 2010 09:23:34 GMT+0800 (CST)" }<BR>&gt;</TD></TR></TBODY></TABLE></DIV></DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>
<TABLE>
<TBODY>
<TR>
<TD class=content>#!/usr/bin/perl </TD></TR></TBODY></TABLE>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>002</TD>
<TD class=content>&nbsp;&nbsp;</TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>003</TD>
<TD class=content>use strict; </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>004</TD>
<TD class=content>use warnings; </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>005</TD>
<TD class=content>use Getopt::Std;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Parm passing routine </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>006</TD>
<TD class=content>use MongoDB; </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>007</TD>
<TD class=content>use Time::Local; </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>008</TD>
<TD class=content>&nbsp;&nbsp;</TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>009</TD>
<TD class=content>format HEADER = </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>010</TD>
<TD class=content>------------------------------------------------------------------------------ </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>011</TD>
<TD class=content>Syntax : $0 -h vipname -p portnum -u usage </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>012</TD>
<TD class=content>&nbsp;&nbsp;</TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>013</TD>
<TD class=content>Options: </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>014</TD>
<TD class=content>&nbsp;&nbsp;</TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>015</TD>
<TD class=content>&nbsp;&nbsp;&nbsp;-h vipname </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>016</TD>
<TD class=content>&nbsp;&nbsp;&nbsp;-p portnum&nbsp; - default is 27017 </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>017</TD>
<TD class=content>&nbsp;&nbsp;&nbsp;-u usage </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>018</TD>
<TD class=content>&nbsp;&nbsp;</TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>019</TD>
<TD class=content>------------------------------------------------------------------------------ </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>020</TD>
<TD class=content>. </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>021</TD>
<TD class=content>&nbsp;&nbsp;</TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>022</TD>
<TD class=content>my $hostname; </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>023</TD>
<TD class=content>my $portnum; </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>024</TD>
<TD class=content>my $dbconn; </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>025</TD>
<TD class=content>my $dbadmin; </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>026</TD>
<TD class=content>my $dbcollection; </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>027</TD>
<TD class=content>&nbsp;&nbsp;</TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>028</TD>
<TD class=content># --------------------- </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>029</TD>
<TD class=content># Main </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>030</TD>
<TD class=content># --------------------- </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>031</TD>
<TD class=content>&nbsp;&nbsp;</TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>032</TD>
<TD class=content>&amp;do_opts(); </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>033</TD>
<TD class=content>&amp;db_connect(); </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>034</TD>
<TD class=content>&amp;get_stats(); </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>035</TD>
<TD class=content>&amp;db_disconnect(); </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>036</TD>
<TD class=content>&nbsp;&nbsp;</TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>037</TD>
<TD class=content>sub do_opts { </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>038</TD>
<TD class=content>&nbsp;&nbsp;#-------------------------------------------------------------------------- </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>039</TD>
<TD class=content>&nbsp;&nbsp;# Split the options and load variables </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>040</TD>
<TD class=content>&nbsp;&nbsp;#-------------------------------------------------------------------------- </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>041</TD>
<TD class=content>&nbsp;&nbsp;</TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>042</TD>
<TD class=content>&nbsp;&nbsp;# Exempt these varaibles from needing to be declared </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>043</TD>
<TD class=content>&nbsp;&nbsp;use vars&nbsp; '$opt_h','$opt_p','$opt_u'; </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>044</TD>
<TD class=content>&nbsp;&nbsp;</TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>045</TD>
<TD class=content>&nbsp;&nbsp;my $returncode = getopts('h:pu') ; </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>046</TD>
<TD class=content>&nbsp;&nbsp;</TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>047</TD>
<TD class=content>&nbsp;&nbsp;&amp;do_help if (defined $opt_u or $returncode != 1 ); </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>048</TD>
<TD class=content>&nbsp;&nbsp;&amp;do_help if (! $opt_h); </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>049</TD>
<TD class=content>&nbsp;&nbsp;</TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>050</TD>
<TD class=content>&nbsp;&nbsp;$hostname&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = $opt_h; </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>051</TD>
<TD class=content>&nbsp;&nbsp;$portnum&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 27017 || $opt_p; </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>052</TD>
<TD class=content>} </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>053</TD>
<TD class=content>&nbsp;&nbsp;</TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>054</TD>
<TD class=content>sub db_connect { </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>055</TD>
<TD class=content>&nbsp;&nbsp;$dbconn&nbsp;&nbsp;&nbsp; = MongoDB::Connection-&gt;new(host =&gt; "<A href="mongodb:///" target=_blank>mongodb://</A>$hostname:$portnum"); </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>056</TD>
<TD class=content>&nbsp;&nbsp;$dbadmin&nbsp;&nbsp; = $dbconn-&gt;admin; </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>057</TD>
<TD class=content>} </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>058</TD>
<TD class=content>&nbsp;&nbsp;</TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>059</TD>
<TD class=content>sub db_disconnect { </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>060</TD>
<TD class=content>} </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>061</TD>
<TD class=content>&nbsp;&nbsp;</TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>062</TD>
<TD class=content>sub do_help { </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>063</TD>
<TD class=content>&nbsp;&nbsp;#-------------------------------------------------------------------------- </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>064</TD>
<TD class=content>&nbsp;&nbsp;# Give help screen and exit </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>065</TD>
<TD class=content>&nbsp;&nbsp;#-------------------------------------------------------------------------- </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>066</TD>
<TD class=content>&nbsp;&nbsp;$~ = "HEADER"; </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>067</TD>
<TD class=content>&nbsp;&nbsp;write; </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>068</TD>
<TD class=content>&nbsp;&nbsp;&amp;quit(0); </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>069</TD>
<TD class=content>} </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>070</TD>
<TD class=content>&nbsp;&nbsp;</TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>071</TD>
<TD class=content>sub quit { </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>072</TD>
<TD class=content>&nbsp;&nbsp;exit; </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>073</TD>
<TD class=content>} </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>074</TD>
<TD class=content>&nbsp;&nbsp;</TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>075</TD>
<TD class=content>sub get_stats { </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>076</TD>
<TD class=content>&nbsp;&nbsp;</TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>077</TD>
<TD class=content>&nbsp;&nbsp;my $result = $dbadmin-&gt;run_command({serverStatus =&gt; 1}); </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>078</TD>
<TD class=content>&nbsp;&nbsp;#my $result = $dbadmin-&gt;run_command({'serverStatus' =&gt; 1, 'repl' =&gt; 2});&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #didn't work with 2 parameters </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>079</TD>
<TD class=content>&nbsp;&nbsp;#my $result = $dbadmin-&gt;get_collection('$cmd')-&gt;find_one(Tie::IxHash-&gt;new('serverStatus' =&gt; 1, 'repl' =&gt; 2));&nbsp;&nbsp; #works, but complex syntax </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>080</TD>
<TD class=content>&nbsp;&nbsp;</TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>081</TD>
<TD class=content>&nbsp;&nbsp;print "current : $result-&gt;{connections}-&gt;{current}\n"; </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>082</TD>
<TD class=content>&nbsp;&nbsp;</TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>083</TD>
<TD class=content>&nbsp;&nbsp;print "resident : $result-&gt;{mem}-&gt;{resident}\n"; </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>084</TD>
<TD class=content>&nbsp;&nbsp;print "mapped : $result-&gt;{mem}-&gt;{mapped}\n"; </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>085</TD>
<TD class=content>&nbsp;&nbsp;print "virtual : $result-&gt;{mem}-&gt;{virtual}\n"; </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>086</TD>
<TD class=content>&nbsp;&nbsp;</TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>087</TD>
<TD class=content>&nbsp;&nbsp;print "accesses : $result-&gt;{indexCounters}-&gt;{btree}-&gt;{accesses}\n"; </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>088</TD>
<TD class=content>&nbsp;&nbsp;print "hits : $result-&gt;{indexCounters}-&gt;{btree}-&gt;{hits}\n"; </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>089</TD>
<TD class=content>&nbsp;&nbsp;print "misses : $result-&gt;{indexCounters}-&gt;{btree}-&gt;{misses}\n"; </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>090</TD>
<TD class=content>&nbsp;&nbsp;print "resets : $result-&gt;{indexCounters}-&gt;{btree}-&gt;{resets}\n"; </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>091</TD>
<TD class=content>&nbsp;&nbsp;</TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>092</TD>
<TD class=content>&nbsp;&nbsp;print "flushes : $result-&gt;{backgroundFlushing}-&gt;{flushes}\n"; </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>093</TD>
<TD class=content>&nbsp;&nbsp;print "total_ms : $result-&gt;{backgroundFlushing}-&gt;{total_ms}\n"; </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>094</TD>
<TD class=content>&nbsp;&nbsp;print "average_ms : $result-&gt;{backgroundFlushing}-&gt;{average_ms}\n"; </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>095</TD>
<TD class=content>&nbsp;&nbsp;print "last_ms : $result-&gt;{backgroundFlushing}-&gt;{last_ms}\n"; </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>096</TD>
<TD class=content>&nbsp;&nbsp;</TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>097</TD>
<TD class=content>&nbsp;&nbsp;print "insert : $result-&gt;{opcounters}-&gt;{insert}\n"; </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>098</TD>
<TD class=content>&nbsp;&nbsp;print "query : $result-&gt;{opcounters}-&gt;{query}\n"; </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>099</TD>
<TD class=content>&nbsp;&nbsp;print "update : $result-&gt;{opcounters}-&gt;{update}\n"; </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>100</TD>
<TD class=content>&nbsp;&nbsp;print "delete : $result-&gt;{opcounters}-&gt;{delete}\n"; </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>101</TD>
<TD class=content>&nbsp;&nbsp;print "getmore : $result-&gt;{opcounters}-&gt;{getmore}\n"; </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>102</TD>
<TD class=content>&nbsp;&nbsp;print "command : $result-&gt;{opcounters}-&gt;{command}\n"; </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>103</TD>
<TD class=content>&nbsp;&nbsp;</TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>104</TD>
<TD class=content>&nbsp;&nbsp;my $lagsec = -1; </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>105</TD>
<TD class=content>&nbsp;&nbsp;my $primary_optimeDate; </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>106</TD>
<TD class=content>&nbsp;&nbsp;my $primary_time; </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>107</TD>
<TD class=content>&nbsp;&nbsp;my $my_optimeDate; </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>108</TD>
<TD class=content>&nbsp;&nbsp;my $my_time; </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>109</TD>
<TD class=content>&nbsp;&nbsp;$result = $dbadmin-&gt;run_command({replSetGetStatus =&gt; 1}); </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>110</TD>
<TD class=content>&nbsp;&nbsp;foreach my $repl ( @{$result-&gt;{members}} ) { </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>111</TD>
<TD class=content>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if ($repl-&gt;{stateStr} eq "PRIMARY") { </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>112</TD>
<TD class=content>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$primary_optimeDate = $repl-&gt;{optimeDate}; </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>113</TD>
<TD class=content>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>114</TD>
<TD class=content>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (exists($repl-&gt;{self}) &amp;&amp; $repl-&gt;{self} == 1) { </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>115</TD>
<TD class=content>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$my_optimeDate = $repl-&gt;{optimeDate}; </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>116</TD>
<TD class=content>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>117</TD>
<TD class=content>&nbsp;&nbsp;} </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>118</TD>
<TD class=content>&nbsp;&nbsp;</TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>119</TD>
<TD class=content>&nbsp;&nbsp;#data format:&nbsp; 2011-09-20T21:08:04 </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>120</TD>
<TD class=content>&nbsp;&nbsp;#print "$primary_optimeDate : $my_optimeDate\n"; </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>121</TD>
<TD class=content>&nbsp;&nbsp;if($primary_optimeDate =~ /(\d+)-(\d+)-(\d+)T(\d+):(\d+):(\d+)/) { </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>122</TD>
<TD class=content>&nbsp;&nbsp;&nbsp;&nbsp;my ($p_sec, $p_min, $p_hour, $p_day, $p_mon,$p_year) = ($6, $5, $4, $3, $2, $1); </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>123</TD>
<TD class=content>&nbsp;&nbsp;&nbsp;&nbsp;$p_mon = $p_mon - 1; </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>124</TD>
<TD class=content>&nbsp;&nbsp;&nbsp;&nbsp;$p_year = $p_year - 1900; </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>125</TD>
<TD class=content>&nbsp;&nbsp;&nbsp;&nbsp;$primary_time = timegm($p_sec, $p_min, $p_hour, $p_day, $p_mon,$p_year); </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>126</TD>
<TD class=content>&nbsp;&nbsp;} </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>127</TD>
<TD class=content>&nbsp;&nbsp;if($my_optimeDate =~ /(\d+)-(\d+)-(\d+)T(\d+):(\d+):(\d+)/) { </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>128</TD>
<TD class=content>&nbsp;&nbsp;&nbsp;&nbsp;my ($m_sec, $m_min, $m_hour, $m_day, $m_mon,$m_year) = ($6, $5, $4, $3, $2, $1); </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>129</TD>
<TD class=content>&nbsp;&nbsp;&nbsp;&nbsp;#print "$m_sec, $m_min, $m_hour, $m_day, $m_mon, $m_year\n"; </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>130</TD>
<TD class=content>&nbsp;&nbsp;&nbsp;&nbsp;$m_mon = $m_mon - 1; </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>131</TD>
<TD class=content>&nbsp;&nbsp;&nbsp;&nbsp;$m_year = $m_year - 1900; </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>132</TD>
<TD class=content>&nbsp;&nbsp;&nbsp;&nbsp;$my_time = timegm($m_sec, $m_min, $m_hour, $m_day, $m_mon,$m_year); </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>133</TD>
<TD class=content>&nbsp;&nbsp;} </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>134</TD>
<TD class=content>&nbsp;&nbsp;$lagsec = $primary_time - $my_time if($my_time &amp;&amp; $primary_time); </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>135</TD>
<TD class=content>&nbsp;&nbsp;print "$primary_time: $my_time\n"; </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>136</TD>
<TD class=content>&nbsp;&nbsp;print "lagSeconds : $lagsec\n"; </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>137</TD>
<TD class=content>}</TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">&nbsp;</DIV>
<DIV class="line alt1">&nbsp;</DIV>
<DIV class="line alt1">&nbsp;</DIV>
<DIV class="line alt1">&nbsp;</DIV>
<DIV class="line alt1">&nbsp;</DIV>
<DIV class="line alt1">The script run 2 commands to get the MongoDB status. We can get the same by run db._adminCommand({serverStatus : 1}) and db._adminCommand({replSetGetStatus : 1}) in MongoDB Shell .&nbsp;&nbsp; Let’s take a look at the output of the later one:</DIV>
<DIV class="line alt1">---------------------------------------------------------------</DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=content>shared:PRIMARY&gt; db._adminCommand({replSetGetStatus : 1}); </TD></TR></TBODY></TABLE>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>02</TD>
<TD class=content>{ </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>03</TD>
<TD class=content>&nbsp;&nbsp;&nbsp;&nbsp;<FONT color=#0000ff>"set"</FONT> : <FONT color=#0000ff>"shared"</FONT>, </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>04</TD>
<TD class=content>&nbsp;&nbsp;&nbsp;&nbsp;<FONT color=#0000ff>"date"</FONT> : ISODate(<FONT color=#0000ff>"2011-09-22T14:36:40Z"</FONT>), </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>05</TD>
<TD class=content>&nbsp;&nbsp;&nbsp;&nbsp;<FONT color=#0000ff>"myState"</FONT> : 1, </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>06</TD>
<TD class=content>&nbsp;&nbsp;&nbsp;&nbsp;<FONT color=#0000ff>"members"</FONT> : [ </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>07</TD>
<TD class=content>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>08</TD>
<TD class=content>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT color=#0000ff>"_id"</FONT> : 0, </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>09</TD>
<TD class=content>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT color=#0000ff>"name"</FONT> : <FONT color=#0000ff>"shared.mongodb.org:27017"</FONT>, </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>10</TD>
<TD class=content>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT color=#0000ff>"health"</FONT> : 1, </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>11</TD>
<TD class=content>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT color=#0000ff>"state"</FONT> : 2, </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>12</TD>
<TD class=content>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT color=#0000ff>"stateStr"</FONT> : <FONT color=#0000ff>"SECONDARY"</FONT>, </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>13</TD>
<TD class=content>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT color=#0000ff>"uptime"</FONT> : 28033, </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>14</TD>
<TD class=content>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT color=#0000ff>"optime"</FONT> : { </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>15</TD>
<TD class=content>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT color=#0000ff>"t"</FONT> : 1316677688000, </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>16</TD>
<TD class=content>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT color=#0000ff>"i"</FONT> : 2 </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>17</TD>
<TD class=content>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}, </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>18</TD>
<TD class=content>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT color=#0000ff>"optimeDate"</FONT> : ISODate(<FONT color=#0000ff>"2011-09-22T07:48:08Z"</FONT>), </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>19</TD>
<TD class=content>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT color=#0000ff>"lastHeartbeat"</FONT> : ISODate(<FONT color=#0000ff>"2011-09-22T14:36:39Z"</FONT>) </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>20</TD>
<TD class=content>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}, </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>21</TD>
<TD class=content>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>22</TD>
<TD class=content>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT color=#0000ff>"_id"</FONT> : 1, </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>23</TD>
<TD class=content>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT color=#0000ff>"name"</FONT> : <FONT color=#0000ff>"shared.mongodb.org:27017"</FONT>, </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>24</TD>
<TD class=content>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT color=#0000ff>"health"</FONT> : 1, </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>25</TD>
<TD class=content>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT color=#0000ff>"state"</FONT> : 1, </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>26</TD>
<TD class=content>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT color=#0000ff>"stateStr"</FONT> : <FONT color=#0000ff>"PRIMARY"</FONT>, </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>27</TD>
<TD class=content>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT color=#0000ff>"optime"</FONT> : { </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>28</TD>
<TD class=content>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT color=#0000ff>"t"</FONT> : 1316677688000, </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>29</TD>
<TD class=content>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT color=#0000ff>"i"</FONT> : 2 </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>30</TD>
<TD class=content>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}, </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>31</TD>
<TD class=content>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT color=#0000ff>"optimeDate"</FONT> : ISODate(<FONT color=#0000ff>"2011-09-22T07:48:08Z"</FONT>), </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>32</TD>
<TD class=content>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT color=#0000ff>"self"</FONT> : true </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>33</TD>
<TD class=content>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>34</TD>
<TD class=content>&nbsp;&nbsp;&nbsp;&nbsp;], </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>35</TD>
<TD class=content>&nbsp;&nbsp;&nbsp;&nbsp;<FONT color=#0000ff>"ok"</FONT> : 1 </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>36</TD>
<TD class=content>}</TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">---------------------------------------------------------------------------------</DIV>
<DIV class="line alt2">By comparing the output of MongoDB Shell command and the result in Perl. We can find that the result in Perl is mapped to a hash value, and the value of the hash may be a value, a hash or a array. It’s very easy to get the value we want. Here are the script output example:</DIV>
<DIV class="line alt2">-------------------------------------------------------------------------</DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=content>./getMongoDBStats.pl -h sharedmongo1.mongodb.com </TD></TR></TBODY></TABLE>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>02</TD>
<TD class=content>current : 3 </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>03</TD>
<TD class=content>resident : 33 </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>04</TD>
<TD class=content>mapped : 1392 </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>05</TD>
<TD class=content>virtual : 3915 </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>06</TD>
<TD class=content>accesses : 1 </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>07</TD>
<TD class=content>hits : 1 </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>08</TD>
<TD class=content>misses : 0 </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>09</TD>
<TD class=content>resets : 0 </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>10</TD>
<TD class=content>flushes : 10508 </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>11</TD>
<TD class=content>total_ms : 27876 </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>12</TD>
<TD class=content>average_ms : 2.65283593452608 </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>13</TD>
<TD class=content>last_ms : 0 </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>14</TD>
<TD class=content>insert : 0 </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>15</TD>
<TD class=content>query : 9 </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>16</TD>
<TD class=content>update : 164909 </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>17</TD>
<TD class=content><FONT color=#ff1493>delete</FONT> : 32 </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>18</TD>
<TD class=content>getmore : 164897 </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>19</TD>
<TD class=content>command : 253693 </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt2">
<TABLE>
<TBODY>
<TR>
<TD class=number>20</TD>
<TD class=content>1316677688: 1316677688 </TD></TR></TBODY></TABLE></DIV>
<DIV class="line alt1">
<TABLE>
<TBODY>
<TR>
<TD class=number>21</TD>
<TD class=content>lagSeconds : 0</TD></TR></TBODY></TABLE></DIV>
<P>Of course, it’s a quite simple one for MongoDB administrator. But it’s a good and great start <IMG class=wp-smiley alt=:) src="http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif?m=1305258975g"> </P></DIV></DIV></DIV>
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP