当前位置: 传客网 > TODO:MongoDB的查询更新删除总结

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

2016-12-02 作者:一个TODO

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



相关推荐

  • 再见小红点,iPhone不越狱删除系统更新角标提醒教程

    就目前的ios来说,都是有效的,以后是否有效并不清楚。下面就请那些动手能力强一点的强迫症患者动动手自己消除那烦银的小红点。1下载iBackupBot并安装。(哪里有的下?问度娘。)2打开iTunes备份你的iPhone了(itunes哪里下

  • hibernate对数据库的其他操作,删除、查询、修改。

    hibernate对数据库的其他操作,删除、查询、修改。Hibernate对数据删除操作删除User表中个一条数据,是需要更具User表的主键id值来删除的。首先根据id值向数据库中查询出来对应的对象。可以采用两种方式一是session的g

  • 手机微信聊天记录删除了怎么查询

    手机微信聊天记录删除了怎么查询关于删了的微信聊天记录能找回吗的问题,小编请教了业内的数据恢复专家,据专家介绍,绝大多数情况下手机微信聊天记录存储于手机存储卡里,误删除之后虽然这部分聊天记录不会显示,但事实上仍然保留在手机存储卡内。如果选择使

  • SQL语句添加、删除、更新、查询、函数用法(转发)

    添加、删除、修改使用db.Execute(Sql)命令执行操作╔----------------╗☆数据记录筛选☆╚----------------╝注意:单双引号的用法可能有误(没有测式)Sql="SelectDi

  • 删除iphone自动更新固件的路径

    一、删除iphone自动更新下载的固件路径设置--软件更新会自动下载固件这会占用大家iPhone的局促空间如若想删除用一下路径(必须越狱)1.正在下载中还没下载完的路径:var/mobile/media/downloads2.已经下载完毕的

  • 清理windows update自动更新补丁产生的可删除文件(转)

    WindowsUpdate都是将更新下载到临时文件夹中,然后对系统文件进行更新,更新后会自动清除临时文件夹,所以并没有你说的.exe文件存在。你可以通过下面的方法来删除与更新有关的文件夹,这样可以释放出一些空间。重命名Catroot2文件夹

  • Oracle创建删除用户、角色、表空间、导入导出数据库命令行方式总结

    Oracle创建删除用户、角色、表空间、导入导出数据库命令行方式总结说明:在创建数据库时输入的密码,是修改系统默认的密码,以system和sysman等系统默认身份登录时要输入的密码就是修改后的密码(创建数据库时输入的密码)如果要创建新的用

  • Oracle创建删除用户、角色、表空间、导入导出数据库命令行方式总结

    转自http://yesican.blog.51cto.com/700694/180021标签:Oracle创建删除用户、角色、表空间、导入导出数据库命令行方式总结说明:在创建数据库时输入的密码,是修改系统默认的密码,以system和sys

  • Win10系统更新失败的补丁文件如何删除的方法

      众所周知,微软时常会推送一些windows10系统的更新补丁,而大部分用户都会选择安装更新。不过我们在更新时,难免会碰到更新失败的问题。为了系统安全,我们必须及时删除这些更新失败的补丁文件。这该如何操作呢?不少用户一时不知道方法,下面就

  • RPM的详细演示安装、删除和查询 2

    查询query命令的语法为:rpm-q[information-options][package-options]rpm--query[information-options][package-options]查询选项有两个子集:包选择选项

  • 论坛帖子中指定内容批量删除的sql命令一些总结

    很多discuz论坛站长朋友,用户无可避免的都会遇到自己的论坛网站会有些垃圾评论和垃圾帖子。无忧主机php独立ip空间中小编也遇到过这样的问题。如果要一个一个的删除,确实是有些麻烦。为了节省不必要的时间,我们就需要进行一个批量删除,批量清空

  • mysql 数据库文件导入和更新删除

    linux环境的搭建:http://linux.cn/article-571-1.html一、文件的移动1、文件的复制cpdm.sql/home/work2、文件的删除rmdm.sql3、文件夹的删除有提醒rm-rdm.sql4、文件夹的删

  • 律师吐血总结:查询冻结账户的6条经验

    导读:赢了官司还是拿不到钱,很苦恼对不对?执行阶段还请君继续斗智斗勇。有律师总结了查询冻结账户的6条经验,有一部分很有参考价值。1、防止银行通风报信在人民法院执行人员向金融机构工作人员出示工作证、执行公务证、协助查询存款通知书以后,如果金融

  • 战略新兴板删除,监管醒悟了?股指发展比创新更重要

    3月15日,对股民而言,十三五规划删除战略新兴板,显然是比三一五晚会更重要的事儿。这条消息,是收盘后传开的,下面是财联社发布的时间和内容:财新的这个“不再设立”的解读是否靠谱?▌注册制放缓战略新兴板跟随刹车基于对战略新兴板的理解,我认为“不

  • “删除”战略新兴板 给A股市场又一颗“定心丸” 文章来源:证券日报  更新时间:&

    “删除”战略新兴板给A股市场又一颗“定心丸”文章来源:证券日报更新时间:2016-03-1601:29分享到:■张亮“两会”记者昨日获悉,根据人大代表和政协委员对“十三五”规划《纲要草案》提出的意见,同时根据证监会意见,《纲要草

  • 关于查询的总结

    查询步骤:1、在页面上列出查询条件以及查询按钮在页面源代码中添加一些查询条件查询条件的的输入有多种文本框:<asp:TextBoxWidth="120"runat="server"ID="txtJS_MC_Q"></asp

  • Sql Server 触发器实现多表之间同步增加、删除与更新

    SqlServer触发器实现多表之间同步增加、删除与更新定义:何为触发器?在SQLServer里面也就是对某一个表的一定的操作,触发某种条件,从而执行的一段程序。触发器是一个特殊的存储过程。常见的触发器有三种:分别应用于Insert,Upd

  • FireDAC 下的 Sqlite [5] - 数据的插入、更新、删除

    关注万一的博客http://www.cnblogs.com/del/category/192898.htmlFireDAC下的Sqlite[5]-数据的插入、更新、删除先在空白窗体上添加:TFDConnection、TFDPhysSQLit

  • ios总结之UI篇29 之UITableView的删除添加效果

    删除添加效果的实现1.设置按钮为编辑状态.2duitableView进行编辑3.将数据源改变就这三类重新加载就好4.移动的实现@interfaceViewController(){UITableView*_tableView;NSMutab

  • python删除变量、列表、模块、包的方法

    python删除变量、列表、模块、包的方法其实很简单,通过del<变量、列表、模块、包名>即可,从内存中删除变量、列表、模块、包。

返回
顶部