- mongo ip:port/dbname 连接到远程服务器的mongodb,如果不加后面的参数,则默认连接到本地的test库
- use test 使用test这个库
- show collections 查看当前库下面的所有表名称
- db.skycomment_1.findOne() 查找该表中的1条记录
mongo 后面可以指定一个JS文件让服务端执行,例如我们的一个数据迁移脚本:
function getCollectionNames(startWith){ array = []; db.getMongo().getDB('comment').getCollectionNames().forEach(function(obj){ if(obj.indexOf(startWith)==0) array.push(obj); }); return array; } function migrateComment(cmt,appId){ cmt.appId=appId; cmt.topicId=cmt.topicid delete cmt.topicid db.getMongo().getDB('comment')["Comment"].save(cmt) } getCollectionNames("skycomment_").forEach(function(obj){ db[obj].find().forEach(function(cmt){ migrateComment(cmt,parseInt(obj.substring(11))); }) });里面全部为JS语法,使用起来非常方便,脚本的执行速度蛮高的。
使用mongo的Java客户端时,如果需要打印出执行语句,在启动程序时,需要加入JVM启动参数: -DDB.SHOW=true ,由于打印语句使用的system.out.print,所以在生产环境一定不能使用这个参数。
mongo使用时一定别忘了索引的创建,通常一个好的索引可以将查询执行时间缩短至1/5以上
未完待续