Mongo命令行中执行CRUD
在命令行中使用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的更多相关文章
- 转 mysql mysql命令行中执行sql的几种方式总结
https://www.jb51.net/article/96394.htm 1.直接输入sql执行 MySQL> select now(); +---------------------+ | ...
- 当在命令行中执行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 ...
- 直接命令行中执行PHP代码(PHP CLI模式)
一般执行PHP代码,需要把PHP代码写成一个文件,但是有时候查一些PHP配置没有这个必要,能不能直接执行PHP代码呢? 答案是可以的. 在命令行下,采用CLI方式执行PHP代码,这里列出几个常用的命令 ...
- 在命令行中执行kms命令激活Microsoft Office 2010
激活office2010的命令是什么?激活office2010除了使用office2010激活工具之外,还可以使用kms命令来激活office2010,但是office2010激活命令还需考虑32位或 ...
- 在 Linux 命令行中使用和执行 PHP 代码
PHP是一个开源服务器端脚本语言,最初这三个字母代表的是“Personal Home Page”,而现在则代表的是“PHP:Hypertext Preprocessor”,它是个递归首字母缩写.它是一 ...
- 在 Linux/windows下 命令行中使用和执行 PHP 代码[交互式php]
[注释]在ubuntu下,升级php到7.1版本,虽然提示的是Interactive mode enabled, 但实际上可以直接书写命令,和interactive shell效果一样. 一:wind ...
- php从命令行中接收参数
php一直都是作为服务器编程的主要角色,其实php也可已做脚本,比如从命令行中接收一些参数,下面就简单介绍一下如何从命令行中接收参数 代码如下: <?php var_dump($argv); ? ...
- php在cli模式下取得命令行中的参数的方法-getopt命令行可传递数组-简单自定义方法取命令行参数
在cli模式下执行PHP时,自动给脚本文件传递了一个变量$argv,其值即是一个命令中所有值组成的数组(以空格区分),在PHP程序中接收参数有3种方法1.直接使用argv变量数组. 2.使用$_SER ...
- 在命令行中直接运行带main方法的java
用了很久的java,基本都是交给服务器完成的执行,有page之类的入口,或者是在IDE工具中直接 Run As Java Application. 并且一直对安装java之后配置JAVA_HOME,p ...
随机推荐
- HDU4812 D Tree(树的点分治)
题目大概说给一棵有点权的树,输出字典序最小的点对,使这两点间路径上点权的乘积模1000003的结果为k. 树的点分治搞了.因为是点权过根的两条路径的LCA会被重复统计,而注意到1000003是质数,所 ...
- 命令模式坚决svn树冲突(local unversioned, incoming add upon update)
当工作目录修改删除过时更新使用svn更新就容易发生树冲突“Tree Confilict”.会出现类似提示. local unversioned, incoming add upon update 如果 ...
- [Unity2D]预制件Prefab
预制件Prefab是一个组件模板,比如在游戏里面要实现开枪的时候会有子弹不停地从枪口飞出来,那么就可以通过Prefab来实现子弹的游戏对象,表示所有的子弹都是从同一个Prefab来构建出来的,也可以理 ...
- 【wikioi】1913 数字梯形问题(费用流)
http://wikioi.com/problem/1913/ 如果本题没有询问2和3,那么本题和蚯蚓那题一模一样.http://www.cnblogs.com/iwtwiioi/p/3935039. ...
- Java Web网站应用中的单点登录
采用SSH架构加以说明:1. 建立一个登录管理类LoginManager2. 在LoginManager中定义一个集合,管理登录的用户.3. 在Spring中将LoginManager配置成单例 ...
- 用Java通过串口发送手机短信
用Java通过串口发短信其实很简单,因为有现成的类库供我们使用.有底层的类库,也有封装好一点的类库,下面我介绍一下在 Win32 平台下发送短信的方法. 如果你想用更底层的类库开发功能更强大的应用程序 ...
- Qt 5.4 OpenCV 2.4.11 Win 32 Configuration
Download CMake 2.8.2 Download OpenCV 2.4.11 Download Qt 5.4 Highly improtant note: The installation ...
- 使用Qt 开发图形界面的软件
3DSlicer, a free open source software for visualization and medical image computing AcetoneISO:镜像文件挂 ...
- python 面向对象的三大特征之 封装
封装:私有化 class Person(object): def __init__(self): self.__gender = "man" #在类的属性名称前面加__ self. ...
- hdu Super Jumping
简单的dp,最优子结构是dp[i],即从0~i来看,是的dp[i]最大,然后找到最大中的最大就可以了, 转移方程是:dp[i]=max{dp[i],dp[j]+value[i]},注意这里有两个判断条 ...