zoukankan      html  css  js  c++  java
  • Mogodb 学习一

    0、MongoDB和关系型数据的几个重要对象对比

    MongoDB中的数据库、集合、文档 类似于关系型数据库中的数据库、表、行

    MongoDB中的集合是没有模式的,所以可以存储各种各样的文档

    1、启动MongoDB服务:从控制台里定位到mongod.exe  所在的目录 ,执行该程序

    > d:
    > cd D:MongoDB      // 里定位到mongod.exe  所在的目录
    > mongod --dbpath D:MongoDBdata       // 运行mongod 程序 , 备注 mongod后面的参数是指定  数据目录

    2、运行MongoDB Shell 

    cmd控制台  定位和运行Mongo.exe  启动Shell 

    3、MongoDB中的数据类型:

    基本数据类型: 字符串 布尔 null  数组  对象 数字

    数字:32位整数  64位整数   64位双精度浮点数

    日期: new Date()  表示从标准纪元开始的毫秒数

    内嵌文档

    _id和ObjectId

    4、插入、更新、删除文档

    4.1 插入:db.foo.insert({"name":"lxf"});

    4.2 删除:db.foo.remove()   // 不带条件的删除 会删除集合中的所有文档 但不会删除集合  原有的索引也会保留。删除数据是永久性的 不能恢复 不能撤销

      删除整个集合使用:db.drop_collection("far")

    4.3 更新文档:

    4.3.1 文档替换 

    4.3.2 使用修改器:

      $set   用来指定一个键的值,如果这个键不存,则创建它  , 可以修改数据类型 。 example: db.product.update({"name":"旺仔牛奶"},{"$set":{ "num":50 , "category":"饮料"  }})

     $unset    可以将指定的键完全删除     注意:增加、修改、删除键时,应该使用$开头的修改器

     $inc 用来增加或减少已有键的值(键不存在时就创建这个键,初始值设定为增量值 ,操作的键值对象必须为 整数 长整数 浮点数), db.product.update({"name":"旺仔牛奶"},{"$inc":{ "num":2  }})

    $push 只能对数组操作     db.product.update({"name":"旺仔牛奶"},{"$push":{ "arr": 100 }})

    $ 数组的定位修改器  指定修改数组中的一部分  db.product.update({"name":"旺仔牛奶"},{"$set":{ "arr.0": 5 }})

    4.3.3 upsert   

    有即更新 没有 以条件和更新文档为基础创建一个新文档    db.product.update({"name":"飛旺"},{"$set":{ "price": 5 }},true)

    save 是一个shell函数  不存在时插入  存在时更新  它只有一个参数 :文档, 如果这个文档含有 "_id"键,save 会调用upsert,否则会调用插入。

    4.4  更新多个文档

    设置 update第四个参数为 true 即可使匹配的数据 都得到更新

  • 相关阅读:
    一个纠结的问题
    打开SQL Developer时,提示缺少快捷方式
    打开eclipse时,An error has occurred. See the log file
    bash: id : command not found
    Fatal error: Call to undefined function: mysql_connect()解决方法
    struts.xml中标签自动提示问题
    Hibernate向Oracle中添加自增字段
    linux 忘记root密码的解决办法
    ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'
    Ctrl+Alt+Fn不能切换到字符界面
  • 原文地址:https://www.cnblogs.com/lxf1117/p/8288068.html
Copyright © 2011-2022 走看看