增加

增加一条:db.th.insertOne({}) // 返回 _id
增加多条:db.th.insertMany([{},{},{}]) // 返回 _ids 针对Array增加操作:
db.stu.updateOne({name:"wl"},{$push:{"hobby":"小姐姐"}}) #增加一个
db.stu.updateOne({name:"wl"},{$pushAll:{"hobby":[1,2,3]}}) #增加多个

查询

db.th.find({})  #查询所有符合条件的数据
db.th.findOne({}) #查询符合条件的第一条数据 db.th.findOne({name:2}) #查询name字段 == 2 的数据
db.stu.find({name:"",age:99}) #并列条件 name与age 同时满足的 数学比较符 $lt $lte $gt $gte $eq $ne
db.user.find({age:{$gt: 18}}) $all : 子集查询
db.stu.find({l:{$all:[8,6,4,2]}}) Object 查询 :
db.stu.find({"class.name":"python"}) 并列查询
db.Collection.find({Field:1,Field2:2}) 或查询
db.Collection.find({$or:[{Field:1},{Field2:3}]})
db.stu.find({$or:[{age:99},{ages:666}]}) # 在不同字段查询或条件时使用$or
db.Collection.find({Field:{$in:[1,2,3,4,5]}})
db.stu.find({age:{$in:[9,99,999,9999,9999]}}) #在相同字段情况下查询或条件时使用 $in

修改

db.stu.updateOne({age:99}, {$set:{"name":"JW8"}}) #更新第一条符合条件的数据:

修改器:$set 强制将某字段的value修改
db.stu.updateMany({age:99}, {$set:{"name":"JW8"}}) #更新所有符合条件的数据 $set : 强制修改字段值
$inc : 引用增加 db.stu.updateMany({}, {$inc: {"age":10}}) #所有的age增加10,可以写负数为减少
$unset: 强制删除某个Field db.stu.updateMany({}, {$unset: {"age":1}}) # 删除所有的age 1为True 针对Array:更新元素
db.stu.updateOne({name:"wl","hobby":2},{$set:{"hobby.$":"1"}})
db.stu.updateOne({name:"JW8","class.name":"python"},{$inc:{"class.$.score":10}}) db.stu.updateOne({name:"wl"},{$unset:{"class.classtype":"bcyy"}})
db.stu.updateOne({name:"wl"},{$set:{"class.classtype":"bcyy"}})

删除

db.th.deleteOne({name:1}) # 删除第一条符合条件的数据
db.th.deleteMany({name:1}) # 删除符合条件的所有数据
db.th.deleteMany({}) # 删除所有数据 针对Array删除操作:
db.stu.updateOne({name:"wl"},{$pull:{"hobby":"DSB"}}) #删除一个
db.stu.updateOne({name:"wl"},{$pullAll:{"hobby":[2,3]}}) #循环删除 $pop() 是删除列表中的第一个 (-1) 或者最后一个 (1)
db.stu.updateOne({name:"wl"},{$pop:{"hobby":1}})删除最后一个
db.stu.updateOne({name:"wl"},{$pop:{"hobby":-1}})删除第一个元素

$关键字

用来存储符合条件的元素下标索引,只保存第一个符合条件的
l = [1,2,3,1,2,2,2] 哪个元素 == 2 它的下标是多少 $就等于这个下标的数字
l[1] = "wl"
l[$] = "wl"
db.stu.updateOne({name:"wl","hobby":2},{$set:{"hobby.$":"qwe"}}) #修改hobby第一个为2的元素修改为qwe,$为下标

分页

limit skip sort
limit 选取数据量
skip 跳过数据量
sort 根据字段进行排序
db.stu.find().sort({ name:1 }).skip(6).limit(3)

MongDB增删改查的更多相关文章

  1. python代理池的构建4——mongdb数据库的增删改查

    上一篇博客地址:python代理池的构建3--爬取代理ip 一.mongdb数据库的增删改查(Mongo_pool.py) #-*-coding:utf-8-*- ''' 实现代理池的数据库模块 ●作 ...

  2. mongoDB 学习笔记纯干货(mongoose、增删改查、聚合、索引、连接、备份与恢复、监控等等)

    最后更新时间:2017-07-13 11:10:49 原始文章链接:http://www.lovebxm.com/2017/07/13/mongodb_primer/ MongoDB - 简介 官网: ...

  3. mongoDB (mongoose、增删改查、聚合、索引、连接、备份与恢复、监控等等)

    MongoDB - 简介 官网:https://www.mongodb.com/ MongoDB 是一个基于分布式文件存储的数据库,由 C++ 语言编写,旨在为 WEB 应用提供可扩展的高性能数据存储 ...

  4. SpringBoot操作MongoDB实现增删改查

    本篇博客主讲如何使用SpringBoot操作MongoDB. SpringBoot操作MongoDB实现增删改查 (1)pom.xml引入依赖 <dependency> <group ...

  5. Dapper逆天入门~强类型,动态类型,多映射,多返回值,增删改查+存储过程+事物案例演示

    Dapper的牛逼就不扯蛋了,答应群友做个入门Demo的,现有园友需要,那么公开分享一下: 完整Demo:http://pan.baidu.com/s/1i3TcEzj 注 意 事 项:http:// ...

  6. ASP.NET从零开始学习EF的增删改查

           ASP.NET从零开始学习EF的增删改查           最近辞职了,但是离真正的离职还有一段时间,趁着这段空档期,总想着写些东西,想来想去,也不是很明确到底想写个啥,但是闲着也是够 ...

  7. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(9)-MVC与EasyUI结合增删改查

    系列目录 文章于2016-12-17日重写 在第八讲中,我们已经做到了怎么样分页.这一讲主要讲增删改查.第六讲的代码已经给出,里面包含了增删改,大家可以下载下来看下. 这讲主要是,制作漂亮的工具栏,虽 ...

  8. 通过Java代码实现对数据库的数据进行操作:增删改查

    在写代码之前,依然是引用mysql数据库的jar包文件:右键项目-构建路径-设置构建路径-库-添加外部JAR 在数据库中我们已经建立好一个表xs :分别有xuehao  xingming    xue ...

  9. Hibernate全套增删改查+分页

    1.创建一个web工程 2.导入jar包 3.创建Student表 4.创建实体类 package com.entity; public class Student { private Integer ...

随机推荐

  1. Servlet 学习

    3.1 概念 运行在服务器端的小程序 Servlet 就是一个接口 定义JAVA类被浏览器访问(Tomact 识别)的规则 将来 我们需要自定义一个类 实现servlet 接口 重写方法 3.2 快速 ...

  2. JS的基础知识回顾

    前言:JS应用在浏览器端,基于浏览器事件执行,功能十分强大,不容错过

  3. DirectX11 With Windows SDK--15 几何着色器初探

    前言 从这一部分开始,感觉就像是踏入了无人深空一样,在之前初学DX11的时候,这部分内容都是基本上跳过的,现在打算重新认真地把它给拾回来. DirectX11 With Windows SDK完整目录 ...

  4. Shiro 系列 - 基本知识

    和 Spring Security 项目一样, Apache Shiro 也是一个被广泛使用安全框架, 它们都能完成认证.授权.会话管理等. 简单对比一下 Apache Shiro 和 Spring ...

  5. [物理学与PDEs]第2章习题3 Laplace 方程的 Neumann 问题

    设 $\Omega$ 为单连通区域, 在其边界 $\vGa$ 上给定向量场 ${\bf u}_B$, 则在 $\bar\Omega$ 中存在速度场 ${\bf u}$, 使其在 $\Omega$ 中成 ...

  6. 使用kqueue的str_cli函数

    void str_cli(FILE *fp, int sockfd) { , isfile; char buf[MAXLINE]; ]; struct timespec ts; struct stat ...

  7. pc版qq登录及移动版qq登录的申请过程

    1.在哪里接入?    网站接入QQ登录在QQ互联(https://connect.qq.com)上创建:移动应用也可以在QQ互联(https://connect.qq.com)上创建,但是不推荐如此 ...

  8. 肺结节CT影像特征提取(二)——肺结节CT图像特征提取算法描述

    摘自本人毕业论文<肺结节CT影像特征提取算法研究> 医学图像特征提取可以认为是基于图像内容提取必要特征,医学图像中需要什么特征基于研究需要,提取合适的特征.相对来说,医学图像特征提取要求更 ...

  9. Java正则表达式应用

    查找html中的图片 import java.util.regex.Matcher; import java.util.regex.Pattern; public class PicDownload ...

  10. python学习第25天

    异常处理 什么是异常?什么是错误? 1,程序中难免出现错误. 错误主要分为两种: 1,语法错误 语法错误是根本上的错误,无法通过PYTHON解释器.完全无法执行,是在程序中不应该出现的错误.无法进行异 ...