• MongoDB配置教程


    MongoDB是一个面向文档的非关系型数据库
    教程 http://www.runoob.com/mongodb/mongodb-tutorial.html https://www.cnblogs.com/mfmdaoyou/p/7121547.html
    1.配置环境变量
    将解压目录加入PATH中
    2.启动服务
    mongod --dbpath D:MongoDBData --bind_ip 端口 --auth
    允许远程访问加上--bind_ip 端口
    开启认证加上 --auth
    2.启动客户端
    mongo.exe
    3.创建日志目录和文件目录
    mkdir D:MongoDBData
    mkdir D:MongoDBlog
    4.创建配置文件
    创建一个配置文件位于 C:mongodbmongod.cfg,其中指定 systemLog.path 和 storage.dbPath
    systemLog:
    destination: file
    path: D:MongoDBlogmongod.log
    storage:
    dbPath: D:MongoDBData
    5.安装
    mongod.exe --config "D:MongoDBmongod.cfg" --install
    移除
    mongod.exe --remove
    启动
    net start MongoDB
    关闭
    net stop MongoDB
    6.创建用户
    运行(我为了看着清晰使用了换行,实际不要换行,不过貌似也不支持多行编辑)
    db.createUser(
    {"user" : "test",
    "pwd": "000000",
    "roles" : [
                    { role: "clusterAdmin", db: "admin" },
                    { role: "readAnyDatabase", db: "admin" },
                     "readWrite"
                  ]
    },
    { w: "majority" , wtimeout: 5000 }
    )
    7.远程连接
    mongo -u test -p 000000 端口/admin
    mongo 端口:27017
    D:mongodb-win32-x86_64-2008plus-ssl-4.0.3inmongo.exe 端口:27017
    无连接登录
    mongo --nodb
    conn=new Mongo("端口:27017")
    db=conn.getDB("test")

    8.CRUD
    1.创建局部变量
    post={"title":"My Blog Post",
    "content":"Here's my blog post",
    "date":new Date}

    2.新增
    db.blog.insert(post)
    批量新增batchInsert,插入文档数组
    db.foo.batchInsert([{"_id":0},{"_id":1},{"_id":2}])

    3.查询
    db.blog.find()
    db.blog.find(post)
    db.blog.findOne()

    4.更新
    post.comments=[]
    db.blog.update({title:"My Blog Post"},post)
    文档替换


    5.删除
    db.blog.remove({title:"My Blog Post"})
    db.blog.drop 比remove快

    9.主键
    Objuectid是主键_id的默认类型,占用12字节的存储空间,是24个十六进制数字组成的字符串

    10.使用命令行执行js脚本
    mongo script1.js script2.js script3.js
    指定主机端口运行,--quit不让shell打印输出
    mongo --quit server-1:30000/foo script1.js script2.js script3.js
    load("script1.js")

    defineConnectTO.js
    --------------
    var connectTo=function(port,dbname){
    if(!port){
    port=27017;
    }
    if(!dbname){
    dbname="test";
    }
    db=connect("localhost:"+port+"/"+dbname);
    return db;
    };
    --------------
    typeof connectTO
    load("defineConnectTO.js")
    启动时运行js
    .mongorc.js
    --------------
    print("MongoDB Shell已启动");
    EDITOR="C:\Windows\System32\notepad.exe"
    --------------

    11.重写prompt
    prompt=function(){
    if(typeof db=='undefined'){
    return '(nodb) '+(new Date())+">";
    }
    try{
    db.runCommand({getLastError:1});
    }
    catch(e){
    print(e);
    }
    return db+" "+(new Date())+">";
    }

    12.调用编辑器
    EDITOR="D:\安装目录\Notepad++\notepad++.exe"
    windows中要加上转义符,环境变量启动的调用的文件只能在c盘下
    EDITOR="C:\Windows\System32\notepad.exe"
    EDITOR="C:\Notepad++\notepad++.exe"
    var wap=db.books.findOne({title:"War and Peace"})
    edit wap

    13.关键字
    在使用时,若是与关键字重名必须特殊处理
    例:
    db.version
    会返回当前服务器版本
    要访问version集合
    db.getCollection("version")
    对blog的每个变量进行迭代:
    var collections=["posts","comments","authors"];
    for(var i in collections){
    print(db.blog[collections[i]]);
    }
    访问名字怪异变量
    var name="@#&!"
    db[name].find()

    14.修改器
    post={"url":"www.example.com",
    "pageviews":52}
    db.analytics.insert(post)
    加法操作$inc
    db.analytics.update({"url":"www.example.com"},{"$inc":{"pageviews":1}})
    更新新增$set更新删除$unset
    db.analytics.update({"url":"www.example.com"},{"$set":{"favorite book":"War and Peace"}})
    db.analytics.update({"url":"www.example.com"},{"$set":{"favorite book":["War and Peace","fix"]}})
    db.analytics.update({"url":"www.example.com"},{"$unset":{"favorite book":1}})

    db.analytics.update({"url":"www.example.com"},{"$set":{"author.name":"joe schome"}})
    数组修改器$push

    -------------------------------------------------------------------------------------------------------------------------
    linux下mongodb
    编辑用户级配置文件 vim ~/.bashrc

    添加配置信息: export PATH=/user/mongodb/mongodb-linux-x86_64-rhel70-4.0.4/bin:$PATH (中间那部分就是你的安装目录下的bin)

    保存退出,刷新:source ~/.bashrc
    -------------------------------------------------------
    未设置环境变量需要加./或者使用绝对路径
    cd /user/mongodb/mongodb-linux-x86_64-rhel70-4.0.4/bin

    mongod --dbpath /data --bind_ip 11.11.156.248

    mongo 11.11.156.248:27017
    mongo -u test -p 000000 11.11.156.248/admin

    ---用户
    use admin

    db.createUser(
    {"user" : "test",
    "pwd": "000000",
    "roles" : [
                    { role: "clusterAdmin", db: "admin" },
                    { role: "readAnyDatabase", db: "admin" },
                     "readWrite"
                  ]
    },
    { w: "majority" , wtimeout: 5000 }
    )

    db.dropUser("test")
    --------------
    1. 在ssh shell中运行脚本,比如我运行一个批量下载脚本:

     python download-app-annie.py

    2. 按下ctrl-z中断脚本运行,此时系统提示:

    ^Z
    [1]+  Stopped                 python download-app-annie.py

    意思是编号为1的任务挂起了,[1]就是任务的编号,里面的数字也可能是2,3,4..

    3. 输入命令:bg 1

    这个命令将1号任务切换到后台执行

    4. 输入命令:disown -h %1

    这个命令的意思是将1号任务从当前shell的任务列表中移除,并且忽略HUP信号,这样,即使当前Shell结束了,这个任务也不会被结束,而是继续留在后台执行。

  • 相关阅读:
    使用性能监视器找出SQLServer硬件瓶颈
    重启sql server 服务
    优化SQL Server数据库查询方法
    tempdb对SQL Server数据库性能有何影响
    利用动态管理视图提高SQL Server索引效率
    SQL Server 2008 R2数据库镜像部署
    优化数据库的注意事项
    查看 SQL Server 2000 中数据表所占用的磁盘空间
    SQL Server 2005 排查I/O瓶颈
    SQL语句优化的原则
  • 原文地址:https://www.cnblogs.com/Babylon/p/10190371.html
Copyright © 2020-2023  润新知