TODO:MongoDB的查询更新删除总结

  1. 常用查询,条件操作符查询,< 、<=、>、>=、!= 对应 MongoDB的查询操作符是$lt、$lte、$gt、$gte、$ne

    例:

    db.getCollection(‘image_detail’).find({“dig” : {$gte:0}})//查询大于等于0的数据

  2. $all,$in的区别{“dig” : {$all : [0,1]}查询出来的结果dig必须有0和1

    {“dig” : {$in : [0,1]}查询出来的结果dig可以有0和1,或0,或1

  3. 有in就有not in,但是没有not allnot in的操作符是$nin,{“dig” : {$nin : [0,1]},查询出来的dig值不包含0,1
  4. $nin还有个替换的方式$in 取反 {$not : {$in : [0,1]}},巧妙的使用$not,可以解决很多使用场景db.getCollection(‘image_detail’).find({“dig” :{$not : {$in:[0,1]}}}

    db.getCollection(‘image_detail’).find({“dig” :{$not : {$all:[0,1]}}})

  5. 数组的or查询操作符$ordb.getCollection(‘image_detail’).find({$or:[{“dig” :{$not : {$in:[0,1]}}},{“group” : false}]})
  6. $exists判断字段释放存在,{group:{$exists:true}}表示存在group字段,false这是不存在db.getCollection(‘image_detail’).find({group:{$exists:true}})
  7. 巧妙的使用null,{group:null}可以查询出group为null的记录,以及没有group字段的记录,如果要查询出字段group为null的值,就需要配合{$exists:true}的使用db.collection.find({group:{“$in”:[null],”$exists”:true}})
  8. 查询记录条数使用count()db.getCollection(‘image_detail’).find({group:null}).count()
  9. 用sort函数排序,sort({dig:1})按升序排序,sort({dig:-1})按降序排序db.getCollection(‘image_detail’).find().sort({dig:1})

    db.getCollection(‘image_detail’).find().sort({dig:-1})

  10. skip和limit语句,跳过几条记录然后查询指定数目的记录db.getCollection(‘image_detail’).find().sort({dig:-1}).skip(10).limit(10)
  11. 数据更新update的使用,update常用到4个参数,第一个参数是查询条件,

    第二个参数是更新语句,

    第三个参数upsert 可选参数意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入;

    第四个参数multi_bool可选,默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。

    db.getCollection(‘image_detail’).update({}, {“$set”: {“dig”:3}},false,true)

  12. 数组更新push,删除pulldb.getCollection(‘image_detail’).update({“group” : false},{“$pull”: {“tags”:”图片”}},false,true)

    db.getCollection(‘image_detail’).update({},{“$push”: {“tags”:”图片”},”$inc”:{“dig”:1}},false,true)

  13. 数组切片查询$slice,{“tags” : {$slice:10}}查询数据前10条记录,

    {“tags” : {$slice:-10}}查询数据后10跳记录,

    {“tags” : {$slice:[2,5}}查询第2条数据后5条跳记录

    这个例子查询显示的字段为tags,image,dig

    db.getCollection(‘image_detail’).find({},{“tags”: {“$slice”:[2,3]},”_id”:0,”image”:1,”dig”:1})

  14. 递增的参数$inc,递减呢?{“$inc” : {“dig”:1}} 是dig字段增1,

    {“$inc” : {“dig”:-1}} 是dig字段减1

  15. 删除removedb.getCollection(‘image_detail’).find({“dig”:1})
  16. 常用helpdb.help()

    db.find.help()

    db.update.help()


    wxgzh:ludong86

TODO:MongoDB的查询更新删除总结的更多相关文章

  1. MongoDB中的映射,限制记录和记录拼排序 文档的插入查询更新删除操作

    映射 在 MongoDB 中,映射(Projection)指的是只选择文档中的必要数据,而非全部数据.如果文档有 5 个字段,而你只需要显示 3 个,则只需选择 3 个字段即可. find() 方法 ...

  2. Android Sqlite数据库执行插入查询更新删除的操作对比

    下面是在Android4.0上,利用Sqlite数据库的insert,query,update,delete函数以及execSql,rawQuery函数执行插入,查询,更新,删除操作花费时间的对比结果 ...

  3. MongoDB(二)创建更新删除文档

    插入并保存文档操作 用insert向目标集合插入文档,如果没有_id键则会自动添加.最后自动保存. >db.foo.insert({"bar":"baz" ...

  4. Yii数据库操作增删改查-[增加\查询\更新\删除 AR模式]

    在Yii的开发中常常需要去使用Yii的增删改查方法,这些方法又可以多次变化和组合,带来全方位的实现对数据库的处理,下面对这些方法做一些简单的整理和梳理,有遗漏或是BUG,敬请指出.灰常感谢!!! 一. ...

  5. python 读取 查询 更新 删除 sql2008 类及应用

    import pymssql class MSSQL: def __init__(self,host,user,pwd,db): self.host = host self.user = user s ...

  6. MongoDB数据库中更新与删除数据

    MongoDB数据库中更新与删除数据 在MongoDB数据库中,可以使用Collection对象的update方法更新集合中的数据文档.使用方法如下所示: collection.update(sele ...

  7. MongoDB(五):更新文档、删除文档

    1. 更新文档 MongoDB的uptade()和save()方法用于将集合中的文档更新.update()方法更新现有文档中的值,而save()方法是传递文档数据替换现有文档.从3.2版本开始,Mon ...

  8. PHP5: mysqli 插入, 查询, 更新和删除 Insert Update Delete Using mysqli (CRUD)

    原文: PHP5: mysqli 插入, 查询, 更新和删除  Insert Update Delete Using mysqli (CRUD) PHP 5 及以上版本建议使用以下方式连接 MySQL ...

  9. Oracle批量查询、删除、更新使用BULK COLLECT提高效率

    BULK COLLECT(成批聚合类型)和数组集合type类型is table of 表%rowtype index by binary_integer用法笔记 例1: 批量查询项目资金账户号为 &q ...

随机推荐

  1. 分布式锁1 Java常用技术方案

    前言:       由于在平时的工作中,线上服务器是分布式多台部署的,经常会面临解决分布式场景下数据一致性的问题,那么就要利用分布式锁来解决这些问题.所以自己结合实际工作中的一些经验和网上看到的一些资 ...

  2. 0-1背包问题蛮力法求解(c++版本)

    // 0.1背包求解.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream>   #define ...

  3. 移动web基本知识

    1.pixel像素基础 1.px:csspixel 逻辑像素,浏览器所使用的抽象单位 2.dp,pt:设备无关像素 3.devicePixelPatio 设备像素缩放比例 2.viewport 1. ...

  4. 多个Img标签之间的间隙处理方法

    1.多个标签写在一行 <img src="/i/eg_tulip.jpg" alt="郁金香" height="100px"/> ...

  5. 【Big Data】HADOOP集群的配置(一)

    Hadoop集群的配置(一) 摘要: hadoop集群配置系列文档,是笔者在实验室真机环境实验后整理而得.以便随后工作所需,做以知识整理,另则与博客园朋友分享实验成果,因为笔者在学习初期,也遇到不少问 ...

  6. 【详细教程】论android studio中如何申请百度地图新版Key中SHA1值

    一.写在前面 现在越来越多的API接口要求都要求提供我们的项目SHA1值,开发版目前还要求不高,但是发布版是必定要求的.而目前定位在各大APP中也较为常见,当下主流的百度地图和高德地图都在申请的时候会 ...

  7. Unity3D框架插件uFrame实践记录(二)

    5.创建属性和命令 本小节主要内容包括: 在Element节点上创建属性数据 在Element节点上创建命令数据 5.1.在Element节点上创建属性数据 在这里,我们首先为Login节点中的属性( ...

  8. UWP简单示例(三):快速开发2D游戏引擎

    准备 IDE:VisualStudio 2015 Language:VB.NET/C# 图形API:Win2D MSDN教程:UWP游戏开发 游戏开发涉及哪些技术? 游戏开发是一门复杂的艺术,编码方面 ...

  9. Android Studio —— 创建Menu菜单项

    大多数android程序的右上角都会设置一个菜单按钮比如微信的界面右上角的加号. 这个需要在layout同级目录下新建文件夹命名为menu,再右击新建的menu新建xml文件:

  10. 编译器开发系列--Ocelot语言4.类型定义的检查

    这里主要介绍一下检查循环定义的结构体.联合体.是对成员中包含自己本身的结构体.联合体进行检查.所谓"成员中包含自己本身",举例来说,就是指下面这样的定义. struct point ...