增加

增加一条: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. BZOJ2588 主席树 + 树上差分

    https://www.lydsy.com/JudgeOnline/problem.php?id=2588 题意:强制在线的询问树链权值第K小(无修) 这种类似于第K小的题,一般容易想到主席树,但是树 ...

  2. Numpy系列(六)- 形状操作

    Numpy 有一个强大之处在于可以很方便的修改生成的N维数组的形状. 更改数组形状 数组具有由沿着每个轴的元素数量给出的形状: a = np.floor(10*np.random.random((3, ...

  3. ArrayList的实现及原理

    ArrayList ArrayList是最常见以及每个Java开发者最熟悉的集合类了,顾名思义,ArrayList就是一个以数组形式实现的集合,以一张表格来看一下ArrayList里面有哪些基本的元素 ...

  4. 未能找到类型或命名空间名称“Quartz”

    C# 项目中使用Quartz必须使用.NetFrameWork4,而不能使用Client,否则的话会出现如题所示错误.

  5. DUMP2 企业级电商项目

    正常设计数据库表,按照数据流向. ~~闭环核心业务 [1用户]登录 =>浏览[2分类]+浏览[3商品]=>加入[4购物车]=>结算[5订单]+[6收货地址]=>[7支付] [购 ...

  6. FTP主动及被动模式效果图

  7. react-router v4 按需加载的配置方法

    在react项目开发中,当访问默认页面时会一次性请求所有的js资源,这会大大影响页面的加载速度和用户体验.所以添加按需加载功能是必要的,以下是配置按需加载的方法: 安装bundle-loader np ...

  8. 有趣的若干个AI项目

    一.遗传算法跑贪吃蛇 1.下载processing,下载地址是:https://processing.org/download ,直接解压打开即可. 2.下载SnakeAI源码,下载地址是:https ...

  9. Spring Cloud 2-Feign 声明式服务调用(三)

    Spring Cloud Feign  1. pom.xml 2. application.yml 3. Application.java 4. Client.java 简化RestTemplate调 ...

  10. C“控制”Lua

    [前言] 写过Windows程序的人都知道,对于应用程序,如果需要在本地保存一些配置信息,我们经常将这些配置信息写在注册表或者本地的配置文件中,很多应用都是将一些配置信息写在配置文件中,比如以ini结 ...