美文网首页
mongo-db 1 基础篇

mongo-db 1 基础篇

作者: 阿尔卡雷特 | 来源:发表于2018-12-15 11:49 被阅读0次

数据操作

1. 概念

集合 = 表
文档 = 表行数据

2. 操作

新增(集合不存在时会自动创建)

> db.集合.insert(json数据)
# 例如:
> db.test.insert({x:1})

# 动态插入数据
> for(i=3;i<100;i++)db.test.insert({x:i})

ps:可在插入时指定_id,例如: {x:2,_id:1}
ps:值可以使用new Date() 插入当前时间

数据查询

  1. 条件为空时返回所有记录
  2. 可跳过部分数据,相当于mysql的limit 后第一个参数
  3. 可限制查询条数,相当于mysql的limit 后第二个参数
  4. 可执行排序
> db.集合.find(条件)
# 例如{x:1}只查x:1的数据:
> db.test.find({x:1})
> db.test.find().skip(1).limit(2).sort({x:1})

# 查询1条
> db.tset.findOne() 

例: db.test.find()
结果:{"_id": ObjectId("12378371791d987"),"x":1}
其中_id 为自动生成的唯一标示

ps: 排序的值 1 为顺序=asc -1 为逆序=desc

聚合查询

db.集合.find(条件).count()

数据更新

  1. 覆盖更新

db.集合.update(目标查询条件,更新后的内容)

#例:
> db.test.insert({x:1,y:2,z:3})
> db.test.update({x:1},{y:999})
#更新后 {y:999}

ps:mongo的覆盖更新,默认只覆盖更新第一条匹配的数据
例:

> db.test.insert({x:1})
> db.test.insert({x:1})
> db.test.insert({x:1})
> db.test.update({x:1},{x:999})
# 结果:{x:999},{x:1},{x:1}
  1. 部分属性更新
    db.集合.update(目标查询条件,{$set:更新后的内容})
    例:
> db.test.insert({x:1,y:2,z:3})
> db.test.update({x:1},{$set:{y:999}})
# 更新后 {x:1,y:999,z:3}
  1. 查找的数据不存在就创建一条
    db.集合.update(目标查询条件,更新后的内容,true)
# 例:
> db.test.update({x:1},{y:999},true)
# 更新后 {y:999}
  1. 全量更新
    db.集合.update(目标查询条件,{$set:更新后的内容},false,true)

ps:只能更新部分属性{$set:xx}
例:

> db.test.insert({x:1})
> db.test.insert({x:1})
> db.test.insert({x:1})
> db.test.update({x:1},{$set:{x:999}},false,true)
# 结果:{x:999},{x:999},{x:999}
  1. 数据删除
    db.集合.remove(目标查询条件)
> db.test.insert({x:1})
> db.test.insert({x:1})
> db.test.insert({x:1})
> db.test.remove({x:1})
# 结果:

ps:不允许不传参数(不能向查询全部那样)

  1. 集合删除(表删除)
    db.集合.drop()

相关文章

  • mongo-db 1 基础篇

    数据操作 1. 概念 集合 = 表文档 = 表行数据 2. 操作 新增(集合不存在时会自动创建) ps:可在插入时...

  • 基础篇1:Activity

    目录1.生命周期2.启动模式3.Activity任务栈(管理Activity)4.Activity四种状态5.An...

  • MySQL 基础篇-1

    DDL语句 创建数据库 CREATE DATABASE dbname; 查看数据库 删除数据库 DROP DATA...

  • 1、docker基础篇

    什么是docker? docker的优点: 1、更高效的利用系统资源---docker类似于传统虚拟化、但又比其更...

  • 1. 基础篇

    概念: IP地址 端口(port) 应用服务器 数据库 IP地址: 说明:  即在互联网世界的唯一地址。对应现实世...

  • shiro 基础篇1

    - Subject(用户主体) - SecurityManager(核心安全管理器,认证授权都要经过该对象,相当...

  • Pytorch基础篇--1

    源码:github codepytorch线性回归的例子 Parameter containing:tensor(...

  • 【xposed】- 基础篇(1)

    简介 xposed框架出来已经有一段时间了,之前只是看别人的技术博客,说是很强大,但是自己并没有亲手去实践过。一方...

  • ElasticSearch基础篇(1)

    1.基本概念 1.1节点(node) 一个ES的实例,本质上是一个java进程,生产环境一般建议一台机器上运行一个...

  • GoogleTest(基础篇)-1

    简单介绍 GoogleTest 是一个由 Google 的测试技术团队开发的测试框架,它考虑到了谷歌的特定需求和限...

网友评论

      本文标题:mongo-db 1 基础篇

      本文链接:https://www.haomeiwen.com/subject/cbzohqtx.html