• MongoDB自学(4)


    超过存储上限或记录条数删除最早的记录:
    db.createCollection("集合名",{capped:true,size:1024,max:100})
    注解:指定集合名的最大记录条数和最大内存为1MB,超过这两个条件任意之一就会删除最早的数据;

    在MongoDB服务器端执行Javascript脚本:
    E.G:db.eval("Function(name){return "hello"+name;}",['refactor'])
    输出结果为:hello refactor;

    数据库加锁和解锁:加锁:db.fsyncLock()解锁:db.fsyncUnlock()
    注意:不能关闭当前shell窗口
    获取文档名:E.g: getCollection("文档名")
    修改文档名:E.g: db.getCollection('原文档名').renameCollection('结果文档名')
    获得数据库里的集合名:db.getCollectionNames()
    返回上一个错误和查看完整的错误结果:(暂未明确使用情况,暂定为找语句错误)
    db.getLastError()
    db.getLastErrorObj()
    查看这个MongoDB的IP和接口: db.getMongo()
    查看从机:db.getMongo().setSlaveOk()
    获取数据库名: db.getName() 等同于db;
    查询之前的错误信息: db.getPrevError()
    清除错误记录: db.resetError()
    获取当前数据库集群的复制集信息: db.getReplicationInfo()
    数据库所在系统和数据库信息(????): db.hostInfo()
    查询主库的状态: db.isMaster()
    停止数据库上操作时间大于三秒的操作: db.currentOp({"active":"teue","secs_running":{"$gt":3},"ns":"/^表名./"})
    查看当前MongoDB支持的所有的命令: db.listCommands()
    获取当前数据库各个集合的基本信息: db.pringCollectionStats()
    查询服务器信息: db.serverStatus()
    修改服务器最大连接数db.serverStatus().connectionsdb{"current":1,"available":818,"totalCreated":NunberLong(6)}
    显示当前db信息: db.stats()
    显示当前db版本:db.version()
    多条件查询: db.集合名.find({age:{$in:[42,22]}})
    模糊查询:db.集合名.fing("字段名":/a/) 模糊查询名字里有a的 汉字不需加双引号 name:/a$/显示以a为开头的

    可以在命令提示符里加入for循环,
    E.G: for(var i =0;i<10;i++){db.list.insert({"name":"a"+i,"age":i+1})} //循环生成

    var aa = db.list.find()
    while(aa.hasNext()){var name=aa.next().name; var bb=db.booklist.find({'writer':name}); while(bb.hasNext()){printjson(bb.next());}}
    注意:其一,hasNext后面需加一对小括号并且注意大小写;其次,注意括号和分号的使用;

    journal文件在MongoDB中的作用相当于redo日志文件在oracle中的作用
    64位机器上,2.0版本以上默认启动journal,32位机器上2.0版本默认不开启journal
    默认输出刷新时间范围"2~~300 journal默认大小:1G左右; 使用smallfiles这个运行时选项可以将journal文件的大小减至128MB大小
    两个file,两个view:data file和journal file; shared view 和 private file
    两个file是对磁盘而言的,两个view是对内存而言的
    MongoDB数据库的读写操作都是在private file上的;

  • 相关阅读:
    linux性能监控 -CPU、Memory、IO、Network等指标的讲解
    Linux中ctrl+z 、ctrl+c、 ctrl+d区别
    linux下程序启动后后台运行实现
    最近纠结致死的一个java报错java.net.SocketException: Connection reset 终于得到解决
    【Unity笔记】将角色的碰撞体朝向鼠标点击方向——角色朝向鼠标
    【Unity笔记】碰撞器(Collision)与触发器(Trigger)的区别
    【Unity笔记】鼠标射线由指定层接收
    【Unity笔记】Awake()和Start()的区别
    【Unity笔记】第三人称相机跟随
    【Unity笔记】经典的鼠标点击射线检测碰撞
  • 原文地址:https://www.cnblogs.com/hexi707/p/8555740.html
Copyright © 2020-2023  润新知