zoukankan      html  css  js  c++  java
  • mongodb增删改查

    关于database的基础命令

    查看当前的数据库:db
    查看所有的数据库:show dbs /show databases
    切换数据:use db_name
    删除当前的数据库:db.dropDatabase()

    关于集合的基础命令

    不手动创建集合:
    向不存在的集合中第一次加入数据时,集合会被创建出来
    手动创建集合:

    db.createCollection(name, options)
    db.createCollection("stu")
    db.createCollection("sub", {capped:true,size:10})
    

    参数capped:默认值为false表示不设置上限,值为true表示设置上限
    参数size:当capped值为true时,需要指定此参数,表示上限大小,当文档达到上限时,会将之前的数据覆盖,单位为字节
    查看集合:show collections
    删除集合:db.集合名称.drop()

    数据类型

    Object ID: 文档ID
    String: 字符串,最常用,必须时有效的UTF-8
    Boolean: 存储一个布尔值,true或false
    Integer: 整数可以时32位
    Double: 存储浮点值
    Arrays: 数组或列表,多个值存储到一个键
    Object: 用户嵌入式的文档,即一个值为一个文档
    Null: 存储Null值
    Timestamp: 时间戳,表示1970-1-1到现在的总秒数
    Date: 存储当前日期或时间的UNIX时间格式

    1 Double 浮点型 
    2 String UTF-8字符串都可表示为字符串类型的数据 
    3 Object 对象,嵌套另外的文档 
    4 Array 值的集合或者列表可以表示成数组 
    5 Binary data 二进制 
    7 Object id 对象id是文档的12字节的唯一 ID 系统默认会自动生成 
    8 Boolean 布尔类型有两个值TRUE和FALSE 
    9 Date 日期类型存储的是从标准纪元开始的毫秒数。不存储时区 
    10 Null 用于表示空值或者不存在的字段 
    11 Regular expression 采用js 的正则表达式语法 
    13 JavaScript code 可以存放Javasript 代码 
    14 Symbol 符号 
    15 JavaScript code with scope 
    16 32-bit integer 32位整数类型 
    17 Timestamp 特殊语义的时间戳数据类型 
    18 64-bit integer 64位整数类型
    

    注意点

    • 创建日期语句如下:参数的格式为YYYY-MM-DD
      new Date('2018-10-14')
    • 每一个文档都有一个属性,为_id,保证每个文档的唯一性
    • 可以自己去设置_id插入文档,如果没有提供,那么MongoDB为每个文档提供了一个独特的_id,类型为objectID
    • objectID是一个12字节的十六进制数:
      前4个字节为当前时间戳
      接下来3个字节的机器ID
      接下来的2个字节中MongoDB的服务进程id
      最后3个字节是简单的增量值

    插入

    • db.集合名称.insert(document)
    • db.stu.insert({'name':'gj',gender:1})
    • db.stu.insert({_id:"20181014",name:'gj',gender:1})
    • 插入文档时,如果不指定_id参数,MangoDB会为文档分配一个唯一的ObjectID

    保存

    • db.集合名称.save(document)
    • 如果文档的_id已经存在则修改,如果文档的_id不存在则添加

    更新

    db.集合名称.update(,,{multi:})

    参数query:查询条件
    参数update:更新操作符
    参数multi:可选,默认时false,表示只更新找到第一条记录,

    db.stu.update({name:'hr'},{name:'mnc'}) 更新一条
    db.stu.update({name:'hr'},{$set:{name:'hys'}}) 更新一条
    db.stu.update({},{$set:{gender:0}},{multi:true}) 更新全部

    注意:"multi update only works with $ operators"
    

    删除

    db.集合名称.remove(, {justOne:})

    参数query:可选,删除的文档的条件
    参数justOne:可选,如果设为true或1,则只删除一条,默认false,表示删除多条

  • 相关阅读:
    pyqt信号和槽传递额外参数
    PyQt--QTreeWidget
    转载:futex同步机制详解
    Linux 下的同步机制
    Linux 下线程的理解
    Linux下的物理内存管理2-slab缓存的管理
    转:C语言的编译链接过程的介绍
    LInux中ThreadInfo中的preempt_count字段
    LInux中的物理内存管理
    Linux下的内核抢占
  • 原文地址:https://www.cnblogs.com/colden/p/9865183.html
Copyright © 2011-2022 走看看