• mongodb配置和基本操作


    MongoDB
    3.0新特性
    WiredTiger
    MMAPv1
    可插拔引擎API
    基于web的可视化管理工具

    查看版本号
    mongod --version
    启动数据库

    mongod --dbpath $dbpath --logpath $logpath --logappend --fork --port=27000

    $dbpath 数据目录
    $logpath 是log文件的路径 不是目录路径
    logappend 日志追加方式
    --fork 后台运行

    在win下
    添加到系统服务中

    mongod --dbpath $dbpath --logpath $logpath --logappend --install/remove --serviceName "MongoDb"

    可以用 服务再启动
    net start/stop MongoDB

    mongod --dbpath ./data --logpath ./log/mongo.log --logappend --fork

    操作

    启动

    mongod --dbpath /usr/local/mongodb/data --logpath /usr/local/mongodb/log/mon.log --logappend --fork --port=27000

    默认端口 27017
    连接
    mongo 远程主机ip或DNS:MongoDB端口号/数据库名 -u user -p password
    mongo 127.0.0.1:27000
    mongo --port=27017
    查询所有数据库
    show databases
    关闭
    在一个已经连接上的客户端
    use admin
    db.shutdownServer()

    根据配置文件来启动

    建立mongodb.conf

    #设置数据目录
    dbpath=/usr/local/mongodb/data
    #设置日志文件位置
    logpath=/usr/local/mongodb/log/mon.log
    #打开日志输出操作
    logappend=true
    #不使用用户管理验证
    noauth=true
    port=27017

    指定配置文件来启动
    mongod -f /usr/local/mongodb/mongodb.conf

    -----------------------------------

    基本操作

    1.使用hk数据库
    > use hk
    switched to db hk
    > show databases
    admin 0.000GB
    local 0.000GB
    当没有实际的数据操作时,use 不会创建数据库

    2.创建集合

     db.createCollection("stu")

    > db.createCollection("stu")
    { "ok" : 1 }
    > show databases
    admin  0.000GB
    hk     0.000GB
    local  0.000GB

     这时hk数据库才会被真正创建

    查看集合里所有的数据
    db.stu.find()

    3.插入数据
    db.stu.insert({"name":'hk','age':10,'class':20});

    > db.stu.find()
    > db.stu.insert({"name":'hk','age':10,'class':20});
    WriteResult({ "nInserted" : 1 })
    > db.stu.find()
    { "_id" : ObjectId("59295c842e2070afc7e34f3e"), "name" : "hk", "age" : 10, "class" : 20 }

    查看集合
    > show collections
    stu

    4.查看hk表数据
    db.集合名称.find({若干条件})
    插入不同结构的数据

    var data={
       "name":"张三",
       "sex":"男",
       "hobby":"足球",
       "english":89
    };
    db.stu.insert(data);
    > db.stu.find()
    { "_id" : ObjectId("59295c842e2070afc7e34f3e"), "name" : "hk", "age" : 10, "class" : 20 }
    { "_id" : ObjectId("59295e3e2e2070afc7e34f3f"), "name" : "张三", "sex" : "男", "hobby" : "足球", "english" : 89 }

    mongodb每一条记录会生成_id
    组成=时间戳+机器码+PID+计数器

    5.查看单独的文档信息

    > db.stu.findOne()
    {
        "_id" : ObjectId("59295c842e2070afc7e34f3e"),
        "name" : "hk",
        "age" : 10,
        "class" : 20
    }

    6.删除数据

    db.stu.remove({"_id" : ObjectId("59295c842e2070afc7e34f3e")});
    > db.stu.remove({"_id" : ObjectId("59295c842e2070afc7e34f3e")});
    WriteResult({ "nRemoved" : 1 })
    > db.stu.find()
    { "_id" : ObjectId("59295e3e2e2070afc7e34f3f"), "name" : "张三", "sex" : "男", "hobby" : "足球", "english" : 89 }

    7.更新数据

    var data={
       "name":"张三",
       "sex":"女",
       "hobby":"跳舞",
       "english":99
    };
    db.stu.update({ "_id" : ObjectId("59295e3e2e2070afc7e34f3f")},data);

    操作示例

    > var data={
    ...    "name":"张三",
    ...    "sex":"",
    ...    "hobby":"跳舞",
    ...    "english":99
    ... };
    > db.stu.update({ "_id" : ObjectId("59295e3e2e2070afc7e34f3f")},data);
    WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
    > db.stu.find()
    { "_id" : ObjectId("59295e3e2e2070afc7e34f3f"), "name" : "张三", "sex" : "", "hobby" : "跳舞", "english" : 99 }
    完全不同结构的文档更新
    > var data={
    ...      "a":'ajax'
    ... }
    > db.stu.update({ "_id" : ObjectId("59295e3e2e2070afc7e34f3f")},data);
    WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
    > db.stu.find()
    { "_id" : ObjectId("59295e3e2e2070afc7e34f3f"), "a" : "ajax" }
    View Code

    8.删除集合

    db.stu.drop()
    > db.stu.drop()
    true
    > show collections

    9.删除数据库(删除删除当前所在的数据库,先切换再操作)

    db.dropDatabase()

  • 相关阅读:
    lodash工具库(js)
    高频前端面试题汇总js篇【上】
    传说中的前端100问
    React Hooks启航篇
    你会用es6,倒是用啊
    封装点击下载功能
    Day.js极简的处理日期的js库
    crossstorage浏览器web跨域本地缓存
    kafka分区的分配以及再平衡
    kafka高效读写数据
  • 原文地址:https://www.cnblogs.com/HKUI/p/6919040.html
Copyright © 2020-2023  润新知