查询某个字段是否存在

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. 551-学生出勤记录 I

    551-学生出勤记录 I 给定一个字符串来代表一个学生的出勤记录,这个记录仅包含以下三个字符: 'A' : Absent,缺勤 'L' : Late,迟到 'P' : Present,到场 如果一个学 ...

  2. TensorFlow入门(矩阵基础)

    1.placeholder 占位符 可以通过run方法传入值 测试代码如下: # encoding:utf-8 import tensorflow as tf # placeholder 占位符 可以 ...

  3. TensorFlow入门(常量变量及其基本运算)

    1.tensorflow常量变量的定义 测试代码如下: # encoding:utf-8 # OpenCV tensorflow # 类比 语法 api 原理 # 基础数据类型 运算符 流程 字典 数 ...

  4. Codeforce 584A - Olesya and Rodion

    Olesya loves numbers consisting of n digits, and Rodion only likes numbers that are divisible by t. ...

  5. Unable to connect to Elasticsearch at http://elasticsearch:9200. statu red Kibana 安装

    解决方案 docker run -d -p 5601:5601 --link elasticsearch -e "elasticsearch_url=容器ip:9200" --na ...

  6. Feign 不能注入报错及接口参数问题

    无法实例 解决方案: @EnableFeignClients(basePackages = "com.test.test.service") 要指定路径, 如果有设置@Compon ...

  7. 【Linux】iptables相关实践,原理及参数解释

    1.禁止指定IP地址的主机进行连接 iptables -I INPUT -s .***.***. -j DROP 2.解除禁止指定IP地址的主机进行连接 iptables -D INPUT -s .* ...

  8. 'ssh-keygen' 不是内部或外部命令,也不是可运行的程序

    右键我的电脑,点击环境变量,设置系统配置里面的Path 新增一个 D:\ruanjiananzhuangdizhi\Git\usr\bin 路径就可以了

  9. Your wechat account may be LIMITED to log in WEB wechat, error info: <error><ret>1203</ret><message>为了你的帐号安全,此微信号不能登录网页微信。你可以使用Windows微信或Mac微信在电脑端登录。Windows微信下载地址:WeChat for PC

    转载:https://zhuanlan.zhihu.com/p/76180564 微信网页版限制登录或禁止登录将影响一大批使用itchat等Web Api方案的微信机器人 网页版微信 API 被封了, ...

  10. PHP 把秒数转为时分秒格式

    PHP函数 1.gmdate $seconds = 174940;$hours = intval($seconds/); $time1 = $hours."小时".gmdate(' ...