在命令行中使用mongo自带的shell命令来执行CRUD操作

首先链接到数据库

db.qiao.insert({"qq":1})

db.qiao.save({"qq":3})

db.qiao.save({"_id" : ObjectId("5721461f5b4e77bbbae66982"),"qq":100})

save和insert的区别

insert只能插入数据,但是它可以插入一个列表的数据

save如果数据库中有这条数据就执行修改操作,如果没有这条数据就执行插入操作

insert的效率比save要高

db.qiao.remove({"qq":3})     根据条件删除数据

db.qiao.remove()                  移除整个文档,但不删除文档的结构

db.qiao.drop()        删除掉整个数据库,这个的数据是非常快的(但是删除完后需要重新建立索引)

删除掉,某个键或者是某个字段

我想删除掉 book 这个key,以后都不要了

{
"_id" : ObjectId("5706032acd0a6194868cf53e"),
"book" : "干你妹三千",
"list" : {
"name" : "乔安生",
"age" : 22.0
}
}

 db.ansheng.update({"_id":ObjectId("5706032acd0a6194868cf53e")},{"$unset":{"book":""}}) 就可以吧这个key干掉

删除数据是永久性的,不能撤销,也不能恢复。

db.cs.update({"_id" : ObjectId("571f46e0a7b78abfa1768ebf")},{z:20}) 最简单的修改,号前的是搜索参数,后的是修改参数

db.cs.update({"_id" : ObjectId("571f46e0a7b78abfa1768ebf")},{"$inc":{"z":1}})

$inc  z加1  这个可以用来做统计方面的东西,或者过生日的时候执行这种命令让年龄加一

db.cs.update({"_id" : ObjectId("571f46e0a7b78abfa1768ebf")},{"$set":{"book":"C#大全"}})

$set  指定一个字段的值。如果这个字段不存在,则创建他。

$set  还可以直接修改内嵌文档中的数据

db.ansheng.update({"_id":ObjectId("5706032acd0a6194868cf53e")},{"$set":{"list.name":"乔安生","list.age":22}})  这句代码中就是直接修改 ansheng这个文档中的 list 这个内嵌文档

$set  还可以改键的类型,比如我现在的 book 这个键里面就一个 "C#大全",我现在想多加一本书 "干你妹三千"

db.ansheng.update({"_id":ObjectId("5706032acd0a6194868cf53e")},{"$set":{"book":["C#大全","干你妹三千"]}})     这句话就可以吧这个键的类型改成 数组类型的

db.cs.find()      在shell中一次返回10条数据

db.cs.findOne()    返回一条数据

db.cs.find({"z":20})   根据查询条件返回数据

Mongo命令行中执行CRUD的更多相关文章

  1. 转 mysql mysql命令行中执行sql的几种方式总结

    https://www.jb51.net/article/96394.htm 1.直接输入sql执行 MySQL> select now(); +---------------------+ | ...

  2. 当在命令行中执行virtualenv venv时报此错误:'utf-8' codec can't decode byte 0xd5 in position 38: invalid continuation by

    1.windows中安装虚拟环境virtualenv时, 当在命令行中执行virtualenv venv时报此错误:'utf-8' codec can't decode byte 0xd5 in po ...

  3. 直接命令行中执行PHP代码(PHP CLI模式)

    一般执行PHP代码,需要把PHP代码写成一个文件,但是有时候查一些PHP配置没有这个必要,能不能直接执行PHP代码呢? 答案是可以的. 在命令行下,采用CLI方式执行PHP代码,这里列出几个常用的命令 ...

  4. 在命令行中执行kms命令激活Microsoft Office 2010

    激活office2010的命令是什么?激活office2010除了使用office2010激活工具之外,还可以使用kms命令来激活office2010,但是office2010激活命令还需考虑32位或 ...

  5. 在 Linux 命令行中使用和执行 PHP 代码

    PHP是一个开源服务器端脚本语言,最初这三个字母代表的是“Personal Home Page”,而现在则代表的是“PHP:Hypertext Preprocessor”,它是个递归首字母缩写.它是一 ...

  6. 在 Linux/windows下 命令行中使用和执行 PHP 代码[交互式php]

    [注释]在ubuntu下,升级php到7.1版本,虽然提示的是Interactive mode enabled, 但实际上可以直接书写命令,和interactive shell效果一样. 一:wind ...

  7. php从命令行中接收参数

    php一直都是作为服务器编程的主要角色,其实php也可已做脚本,比如从命令行中接收一些参数,下面就简单介绍一下如何从命令行中接收参数 代码如下: <?php var_dump($argv); ? ...

  8. php在cli模式下取得命令行中的参数的方法-getopt命令行可传递数组-简单自定义方法取命令行参数

    在cli模式下执行PHP时,自动给脚本文件传递了一个变量$argv,其值即是一个命令中所有值组成的数组(以空格区分),在PHP程序中接收参数有3种方法1.直接使用argv变量数组. 2.使用$_SER ...

  9. 在命令行中直接运行带main方法的java

    用了很久的java,基本都是交给服务器完成的执行,有page之类的入口,或者是在IDE工具中直接 Run As Java Application. 并且一直对安装java之后配置JAVA_HOME,p ...

随机推荐

  1. 关于遍历javascript 中的json串浏览器输出的结果不统一的情况

    我们在做项目的时候经常会用到javascript的json. 首先说一下javascript的json串是什么,json串属于javascript的一个对象,有键和值对应的对象. 一般的格式是: a ...

  2. DFS HDOJ 2181 哈密顿绕行世界问题

    题目传送门 题意:中文题面 分析:直接排完序后DFS.这样的题以后不应该再写题解的. #include <bits/stdc++.h> using namespace std; vecto ...

  3. ZOJ 3157 Weapon

    题目传送门 题意:就是CF round# 329 B 的升级版,要求出相交点的个数 分析:逆序数用树状数组维护,求出非逆序数,然后所有情况(n * (n - 1)) / 2减之就是逆序数个数. #in ...

  4. BZOJ3919 : [Baltic2014]portals

    预处理出每个点上下左右能延伸到的最远点以及到它们的距离的最小值md. 然后spfa,一个点除了可以以1的代价到达四周的点之外,还可以以md+1的代价到达四个方向能到达的最远点. #include< ...

  5. AppCache 离线存储 应用程序缓存 API 及注意事项

    使用ApplicationCache接口实现离线缓存 原文:http://www.mb5u.com/HTML5/html5_96464.html 推荐:html5 application cache遇 ...

  6. COJ 拯救瑞恩

    试题描述 在n行n列的字符方阵中I表示“我”最初所在位置,R是大兵瑞恩所在位置.4<n<11.“我”从当前位置可以向上.或下.或左.或右移动一格,只要新点无障碍且未出界.标有“.”的位置可 ...

  7. salt安装zabbix

    states文件: [root@super65 base]# cat top.sls base: '*': - init.env_init[root@super65 base]# cat init/e ...

  8. MS14-068 privilege escalation PoC: 可以让任何域内用户提升为域管理员

    https://github.com/bidord/pykek ms14-068.py Exploits MS14-680 vulnerability on an un-patched domain ...

  9. 使用javascript打开链接的多种方法

    在页面中的链接除了常规的方式以外,如果使用javascript,还有很多种方式,下面是一些使用javascript,打开链接的几种方式: 1.使用window的open方法打开链接,这里可是在制定页面 ...

  10. 清除行内元素之间HTML空白的几种解决方案

    行内块(inline-block)是非常有用的,特别是想要不用'block'和'float'来控制这些行内元素的margin,padding之时. 问题来了,HTML源码中行内元素之间的空白有时候显示 ...