查询某个字段是否存在

db.student.findOne({name:{$exists:true}})

db.student.findOne({'department.name':{$exists:true}})

db.student.findOne({'department.name':{$exists:false}})

-------------------------------------------------------------------------------

判断map对象是否为空,注意不能通过$gt,$lt来判断size大小,可以利用索引来判断

db.student.find({class: {$not: {$size: 0}}}).limit(2)

db.student..find({'class.0': {$exists: 1}})

----------------------------------------------------------------------------------

判断一个数组的size

db.student..find({'class': {$size: 3}})

db.student.find({ $where: "this.class.length < 3" })

---------------------------------------------------------------------------------

格式化输出

select top 1 *from student;

db.student.findOne()

select top 1 *from student where age>15;

db.student.findOne({age:{$gt:15}})

select class,department from student where name='shell' and gender=true;

db.student.findOne({name:shell,gender:true},{class:1,department:1})

---------------------------------------------------------------------------------

游标跳转查询和限定返回的个数

db.department.find().skip(10)

select top 10 *from department;

db.department.find().limit(10)

---------------------------------------------------------------------------------

值返回指定字段,第一个map写filter条件,第二个map写返回的字段,默认会返回_id,如果不需要可以设置_id:0

db.student.find({},{name:1,id:1}

db.student.find({},{name:1,id:1,_id:0}

--------------------------------------------------------------------------------------

查询总数

db.student.find().count()

db.student.find({age:{$lt:20}}).count()

-----------------------------------------------------------------------------------

更新和删除某个字段:删除第一个class和修改更新时间为当前时间

更新或添加字段使用$set

删除字段使用unset

db.student.update({id:10005},{$unset:{'class.0':1},$set:{updated:NumberLong(new Date().valueOf()/1000)}})

------------------------------------------------------------------------------------

kill锁

先用这个命令查看锁,找到你要kill的pid

db.currentOp()

将上一步查找到的pid写入括号内,执行以下命令就干掉了

db.killOp(pid)

-------------------------------------------------------------------------------------

重命名字段

db.test.update({}, {$rename : {"a" : "b"}}, false, true)

-------------------------------------------------------------------------------------

在数组中插入元素

db.users.update({"name":"zhang"},{"$addToSet":{"age":18}})

-------------------------------------------------------------------------------------

删除整条记录

delete from test where key='test1';

db.test.remove({'key':'test1'})

mongo日常命令集锦的更多相关文章

  1. Windows命令行命令集锦

    原文:Windows命令行命令集锦 转自:http://www.me2wg.com/bbs/forum.php?mod=viewthread&tid=15830 winver--------- ...

  2. win7+win10系统使用日常经验集锦

    请保留此份 Cmd Markdown 的欢迎稿兼使用说明, 当然你也可以使用彩色字体. 或者使用小体字. 或者使用大体字. 如需撰写新稿件,点击顶部工具栏右侧的 新文稿 或者使用快捷键 Ctrl+Al ...

  3. windows常用命令集锦

    开始→运行→输入的命令集锦 gpedit.msc-----组策略 sndrec32-------录音机 Nslookup-------IP地址侦测器 explorer-------打开资源管理器 lo ...

  4. windows 开始→运行→命令集锦

    windows 开始→运行→命令集锦 来源于网络,侵权请通知我删除 命令 说明 vwinver 检查Windows版本 wmimgmt.msc 打开windows管理体系结构(WMI) wupdmgr ...

  5. mysql常用命令集锦

    一.DCL语句(数据控制语句) 1.授权远程访问,针对IP和用户.DB的 grant {privilege list} on {dbname}.* to '{user}'@'{ip}' identif ...

  6. mongo常用命令

    1.由于mongo没有关系型数据库常用,一些基础的命令容易忘记 db.table.update( { "_id" : xxx } , { $set : { "field1 ...

  7. 【linux】常用命令集锦&持续更新...

    滴:转载引用请注明哦[握爪]:https://www.cnblogs.com/zyrb/p/9709013.html  对深度学习训练及日常work中的常用linux命令进行整理. [一]screen ...

  8. mongo中命令工作原理

    1.db.runCommand命令 db.runCommand({OPTION:'COLLECTION_NAME'}) runCommand命令是mongo的执行命令,可以执行mongo的任何命令,其 ...

  9. mongodb系列~mongo常用命令

    mongodb常用命令大全1 索引相关命令 db.chenfeng.ensureIndex({"riqi":1}) 添加索引会阻塞nohup mongo --eval " ...

随机推荐

  1. JAVA并发同步互斥实现方式总结

    大家都知道加锁是用来在并发情况防止同一个资源被多方抢占的有效手段,加锁其实就是同步互斥(或称独占)也行,即:同一时间不论有多少并发请求,只有一个能处理,其余要么排队等待,要么放弃执行.关于锁的实现网上 ...

  2. python&mysql

    第一种方法,使用 pymysql库 import pymysql.cursors # Connect to the database connection = pymysql.connect(host ...

  3. 853. 有边数限制的最短路(Bellman-ford算法模板)

    给定一个n个点m条边的有向图,图中可能存在重边和自环, 边权可能为负数. 请你求出从1号点到n号点的最多经过k条边的最短距离,如果无法从1号点走到n号点,输出impossible. 注意:图中可能 存 ...

  4. Struts2学习-struts执行过程简述

    1.web.xml <web-app> <filter> <filter-name>struts2</filter-name> <filter-c ...

  5. C++——深拷贝

    要实现深拷贝就需要自己编写拷贝构造函数. 深拷贝 #include<iostream> using namespace std; class Point { public:         ...

  6. java替换文件中某一行文本的内容

    个人博客 地址:http://www.wenhaofan.com/article/20180913160442 代码如下 package com.wenhaofan.common.kit; impor ...

  7. 树莓派操作案例1-使用python GPIO+TB6612驱动步进电机

    原理图: 接口说明 A控制信号输入------PWMA               VM ------电机驱动电压输入端(4.5V-15V) A电机输入端2 ------AIN2           ...

  8. VMware该虚拟机似乎正在使用中。如果该虚拟机未在使用,请按“获取所有权(T)”按钮获取它的所有权

    原文链接:https://blog.csdn.net/helloxiaozhe/article/details/81176684 VMware该虚拟机似乎正在使用中.如果该虚拟机未在使用,请按“获取所 ...

  9. Nessus安装出现localhost:8834无法访问

    1.下载Nessus https://www.tenable.com/downloads/nessus#download 2.安装方法 详细安装方法参考下文 https://www.ld80.cn/a ...

  10. Django中content-type组件的使用

    content-type组件 ContentType是Django的内置的一个应用,可以追踪项目的所有APP和model的对应关系,并记录在ContentTpe表中,当我们的项目做数据迁移后,会有很多 ...