zoukankan      html  css  js  c++  java
  • mongdb 学习

    一:安装
    1.首先到官网(http://www.mongodb.org/downloads )下载合适的安装包
    2.安装mongodb
    3. cmd 命令切换到安装目录bin 下面
    mongod --dbpath D:MongoDBdata
    这是命令行窗口会打印一些启动信息,最后一行显示为如下信息时表示启动成功了
    这是在浏览器输入http://localhost:27017/可以看到显示信息为
    It looks like you are trying to access MongoDB over HTTP on the native driver port.
    4.创建文件 mongod.cfg ,内容如下:
    systemLog:
    destination: file
    path: c:datalogmongod.log
    storage:
    dbPath: c:datadb
    5. mongod --config "C:mongodbmongod.cfg" --install
    6.开启,关闭,移除服务
    net start MongoDB
    net stop MongoDB
    "D:MongoDBdata" --remove
    二:基本操作
    再开一个cmd,输入mongo命令打开shell,其实这个shell就是mongodb的客户端,
    同时也是一个js的编译器,默认连接的是“test”数据库。

    <1>insert 增:
    > db.person.insert({"name":"ken","age":"23"})
    WriteResult({ "nInserted" : 1 })
    > db.person.insert({"name":"jack","age":"20"})
    WriteResult({ "nInserted" : 1 })

    <2>find 查:
    2.1等于条件
    > db.person.find({"name":"ken"})
    { "_id" : ObjectId("571ed103643f3e87212a7c20"), "name" : "ken", "age" : "23" }
    > db.person.find()
    { "_id" : ObjectId("571ed103643f3e87212a7c20"), "name" : "ken", "age" : "23" }
    { "_id" : ObjectId("571ed118643f3e87212a7c21"), "name" : "jack", "age" : "30" }
    ① “_id": 这个字段是数据库默认给我们加的GUID,目的就是保证数据的唯一性。
    2.2 IN
    > db.kehu.find({shop_name:{$in: ['总部','主站']}})
    { "_id" : ObjectId("571ee1c1e77ed0fd0ee9eb35"), "shop_name" : "总部", "code" : "000" }
    { "_id" : ObjectId("571ee1c2e77ed0fd0ee9eb36"), "shop_name" : "主站", "code" : "OS001" }
    2.3 字段值大于 ($gt) 或 字段小于 ($lt)
    > db.kehu.find({ $and: [ {code:{ $gt: '180' }}, {code:{ $lt: '200' }}] })
    { "_id" : ObjectId("571ee1c4e77ed0fd0ee9ecde"), "shop_name" : "时尚旗舰店", "code" : "181" }
    { "_id" : ObjectId("571ee1c4e77ed0fd0ee9ece2"), "shop_name" : "Pattys way", "code" : "182" }
    { "_id" : ObjectId("571ee1c4e77ed0fd0ee9ece3"), "shop_name" : "ROSA", "code" : "183" }
    2.4 两个字段匹配
    > db.kehu.find({code:'181', $and: [ {code:{ $gt: '180' }}, {code:{ $lt: '200' }}] })
    { "_id" : ObjectId("571ee1c4e77ed0fd0ee9ecde"), "shop_name" : "时尚旗舰店", "code" : "181" }
    查询表中所有数据:db.表名.find();
    按条件查询(支持多条件):db.表名.find(条件);
    查询第一条(支持条件):db.表名.findOne(条件);
    限制数量:db.表名.find().limit(数量);
    跳过指定数量:db.表名.find().skip(数量);
    比较查询
    大于:$gt
    小于:$lt
    大于等于:$gte
    小于等于:$lte
    非等于:$ne
    或者:$or
    in和not in查询(包含、不包含)
    $in
    $nin

    查询数量:db.表名.find().count();
    排序:db.表名.find().sort({"字段名":1});
       1:表示升序 -1:表示降序
    指定字段返回: db.表名.find({},{"字段名":0});  
       1:返回 0:不返回

    存储过程
    创建存储过程:
    db.system.js.save({_id:"存储过程ID",
    value:function(参数){
    -- 逻辑主体;
    return 返回;
    }});
    调用存储过程
    db.eval("存储过程ID()");
    所有存储过程都存放在db.system.js中

    <3>update 改:
    update方法的第一个参数为“查找的条件”,第二个参数为“更新的值”
    > db.person.update({"name":"ken"},{"name":"ken","age":"28"})
    WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
    > db.person.find({"name":"ken"})
    { "_id" : ObjectId("571ed103643f3e87212a7c20"), "name" : "ken", "age" : "28" }

    <4>remove 删:
    删除其中1条
    > db.person.remove({"name":"ken"})
    WriteResult({ "nRemoved" : 1 })
    > db.person.find()
    { "_id" : ObjectId("571ed118643f3e87212a7c21"), "name" : "jack", "age" : "30" }
    删除全部
    > db.person.remove({})
    WriteResult({ "nRemoved" : 1 })
    > db.person.find()
    >
    drop对象
    > db.person.drop()
    true
    > db.person.find()
    >

  • 相关阅读:
    队列
    使用JPype实现Python调用JAVA程序
    Django和Flask对于URL尾斜杠(back slash)的处理
    数据仓库建设中的数据建模方法(转)
    python自定义logger handler
    Eclipse下.project和.classpath作用(转)
    理解python的with语句
    django常见小问题收集(转)
    windows下无法创建django工程的问题
    Excel的python读写
  • 原文地址:https://www.cnblogs.com/kenwong/p/5435900.html
Copyright © 2011-2022 走看看