增加

增加一条: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. Python项目读取配置的几种方式

    1. 将配置写在Python文件中 配置文件(config.py 或 settings.py) 通常放置在程序源代码的目录,方便引用 配置文件 # settings.py class Config(o ...

  2. 金融量化分析【day111】:Matplotib简介

    一.Matplotib-绘图和可视化简介 Matplotib是一个强大的Python绘图和数据可视化的工具包 1.安装方法 pip install matplotlib 2.引用方法 import m ...

  3. crm 添加用户 编辑用户 公户和私户的展示,公户和私户的转化

    1.添加用户 和编辑可以写在一起 urls.py url(r'^customer_add/', customer.customer_change, name='customer_add'), url( ...

  4. [Android] Android RxJava2+Retrofit2+OkHttp3 的使用(一) --基础篇 Retrofit2 的使用

    本文是 Android RxJava2+Retrofit2+OkHttp3 的使用(一) --基础篇 Retrofit2 的使用 本文的目标是用 Retrofit写一个网络请求: 本文以从获取天气预报 ...

  5. 微信小程序 mpvue vant

    Mpvue中使用Vant Weapp组件库 https://segmentfault.com/a/1190000016228410?utm_source=tag-newest 小程序采坑记 mpvue ...

  6. react+antdesign

    http://scaffold.ant.design/#/scaffolds/ng-alain http://scaffold.ant.design/#/scaffolds/react-redux-a ...

  7. Flink学习(二)Flink中的时间

    摘自Apache Flink官网 最早的streaming 架构是storm的lambda架构 分为三个layer batch layer serving layer speed layer 一.在s ...

  8. 【JS】长轮询

    循环请求服务器数据 function send () { xhr.open('GET', '/clock', true); xhr.onreadystatechange = function () { ...

  9. laravel 跨库执行原生 sql 语句

    执行原生 sql 返回结果集

  10. cmake find_package 命令

    1. find_package(<Name>)命令首先会在模块路径中寻找 Find<name>.cmake,这是查找库的一个典型方式. 具体查找路径依次为CMake:  变量$ ...