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,表示删除多条

原文地址:https://www.cnblogs.com/colden/p/9865183.html