mongodb学习笔记之增删改查作指令

1: mongo入门命令

 

1.1: show dbs  查看当前的数据库

1.2 use databaseName 选库

1.2 show tables/collections 查看当前库下的collection

 

1.3 如何创建库?

Mongodb的库是隐式创建,你可以use 一个不存在的库

然后在该库下创建collection,即可创建库

 

1.4 db.createCollection(‘collectionName’) 

创建collection

 

1.5 collection允许隐式创建

Db.collectionName.insert(document);

 

1.6 db.collectionName.drop() ,

删除collection

 

1.7 db.dropDatabase();

删除database

基本操作增删改查

增: insert

介绍: mongodb存储的是文档,. 文档是json格式的对象.

 

语法:db.collectionName.isnert(document);

 

1: 增加单篇文档

Db.collectionName.insert({title:’nice day’});

 

2: 增加单个文档,并指定_id

Db.collectionName.insert({_id:8,age:78,name:’lisi’});

 

3. 增加多个文档

db.collectionName.insert(

[

{time:'friday',study:'mongodb'},

{_id:9,gender:'male',name:'QQ'}

]

)

 

 

删:remove

语法:db.collection.remove(查询表达式, 选项);

选项是指  {justOne:true/false},是否只删一行, 默认为false

 

注意

1: 查询表达式依然是个json对象

2: 查询表达式匹配的行,将被删掉.

3: 如果不写查询表达式,collections中的所有文档将被删掉.

 

例1:db.stu.remove({sn:’001’});

删除stu表中 sn属性值为’001’的文档

 

例2: db.stu.remove({gender:’m’,true});

删除stu表中gender属性为m的文档,只删除1行.

改  update操作

改谁? --- 查询表达式

改成什么样? -- 新值 或 赋值表达式

操作选项 ----- 可选参数

 

语法:db.collection.update(查询表达式,新值,选项);

例:

db.news.update({name:'QQ'},{name:'MSN'});

是指选中news表中,name值为QQ的文档,并把其文档值改为{name:’MSN’},

结果: 文档中的其他列也不见了,改后只有_idname列了.

即--新文档直接替换了旧文档,而不是修改

 

如果是想修改文档的某列,可以用$set关键字

db.collectionName.update(query,{$set:{name:’QQ’}})

 

修改时的赋值表达式

$set 修改某列的值

$unset 删除某个列

$rename 重命名某个列

$inc 增长某个列

$setOnInsert 当upsert为true时,并且发生了insert操作时,可以补充的字段.

 

 

Option的作用:

{upsert:true/false,multi:true/false}

Upsert---是指没有匹配的行,则直接插入该行.(和mysql中的replace一样)

 

例:db.stu.update({name:'wuyong'},{$set:{name:'junshiwuyong'}},{upsert:true});

如果有name=’wuyong’的文档,将被修改

如果没有,将添加此新文档

 

例:

db.news.update({_id:99},{x:123,y:234},{upsert:true});

没有_id=99的文档被修改,因此直接插入该文档

 

multi: 是指修改多行(即使查询表达式命中多行,默认也只改1行,如果想改多行,可以用此选项)

例:

db.news.update({age:21},{$set:{age:22}},{multi:true});

则把news中所有age=21的文档,都修改

查: find,findOne

语法:db.collection.find(查询表达式,查询的列);

Db.collections.find(表达式,{列1:1,列2:1});

 

 

例1:db.stu.find()

查询所有文档 所有内容

 

例2:db.stu.find({},{gendre:1})

查询所有文档,的gender属性 (_id属性默认总是查出来)

 

例3:db.stu.find({},{gender:1, _id:0})

查询所有文档的gender属性,且不查询_id属性

 

例3:db.stu.find({gender:’male’},{name:1,_id:0});

查询所有gender属性值为male的文档中的name属性




本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/509899.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spark 报错 : Error: bad symbolic reference. A signature in SparkContext.class refers to term conf

报错如下: Error:scalac: Error: bad symbolic reference. A signature in SparkContext.class refers to term conf in package org.apache.hadoop which is not available. It may be completely missing from the current classpath, or the version on the cl…

怎么写出靠谱的简历

著 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。作者:王亞暉链接:http://www.zhihu.com/question/25002833/answer/35426774来源:知乎第一部分:基本信息。必须有的:名字、联系方式…

vue.js安装与配置

我们在前端学习中,学会了HTML、CSS、JS之后一般会选择学习一些框架,比如Jquery、AngularJs等。这个系列的博文是针对于学习Vue.js的同学展开的。 1.如何简单地使用Vue.js 如同以前我们学过的Jquery一样,我们在程序中使用Vue.js时也可以使用直…

简历模板

先讲讲怎样才是一份好的技术简历 首先,一份好的简历不光说明事实,更通过FAB模式来增强其说服力。 Feature:是什么Advantage:比别人好在哪些地方Benefit:如果雇佣你,招聘方会得到什么好处 其次,…

Sentry : Spark-sql 读取hive数据 权限问题

经测试Spark-sql 只支持Sentry表、库权限,不支持Sentry 对Hive列权限读的控制,设置列权限读,Spark-sql是无权限读取的 对hive表某一列有读权限设置 代码如下,jast_column用户有对hive表test的s2列读权限,这里使用spa…

运行第一个vue.js文件

<!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title>第一个vue.js</title> <script src"https://cdn.bootcss.com/vue/2.2.2/vue.min.js"></script> </head> <body> <div id&qu…

请不要做个浮躁的人

1.把C当成一门新的语言学习&#xff08;和C没啥关系&#xff01;真的。&#xff09;&#xff1b; 2.看《Thinking In C&#xff0c;不要看《C变成死相》&#xff1b; 3.看《The C Programming Language》和《Inside The C Object Model》,不要因为他们很难而我们自己是初…

Hbase WALs(HLog) 文件存储,查看

WALs(HLog) 存储 HLog 存储位置是在&#xff0c;hbase配置目录下WALs目录&#xff0c;默认为 /hbase/WALs 与 /hbase/oldWALs /hbase/WALs : 存储未过期的日志/hbase/oldWALs : 存储已过期的日志 这里先查看WALs日志目录&#xff0c;目录格式为&#xff1a;hostname1 为 …

关于在头文件中定义变量

注意头文件中不可以放变量的定义&#xff01;&#xff01;&#xff01;一般情况下头文件中只放变量的声明&#xff0c;因为头文件要被其他文件包含&#xff08;即#include&#xff09;&#xff0c;如果把定义放到头文件的话&#xff0c;就不能避免多次定义变量&#xff0c;C不允…

Elasticsearch 6.x 下载安装

下载ES 下载ES安装包上传至服务器&#xff0c;地址为&#xff1a; https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.1.0.tar.gz 上传完成后解压 tar -zxvf elasticsearch-6.1.0.tar.gz 安装JDK 这里使用jdk8&#xff0c;官网下载安装即可&#xf…

抽象工厂模式-与-工厂方法模式区别

首先来看看这两者的定义区别&#xff1a; 工厂模式&#xff1a;定义一个用于创建对象的借口&#xff0c;让子类决定实例化哪一个类 抽象工厂模式&#xff1a;为创建一组相关或相互依赖的对象提供一个接口&#xff0c;而且无需指定他们的具体类 个人觉得这个区别在于产品&#x…

navicat设计表中添加自增长列

写web通讯录的时候在添加联系人时候需要主键故采用自增长列为主键&#xff0c;百度链接有详细教程 点击打开链接,注意的是在设计表中添加栏位后把类型改成bigint才会出现自增长选项&#xff0c;希望对你有用

ElasticSearch 索引、更新和删除数据

https://www.elastic.co/guide/en/elasticsearch/client/java-api/6.1/client.html Relational DB -> Databases -> Tables -> Rows -> Columns Elasticsearch -> Indices -> Types -> Documents -> Fields 创建索引 , 5个分片&#xff0c;1个副本 …

osg学习笔记(一)

场景图形采用一种自顶向下的&#xff0c;分层的树状数据结构来组织空间数据集&#xff0c;以提高渲染的效率 场景图形树结构的顶部是一个根节点&#xff0c;从根节点向下延伸&#xff0c;各个组节点中均包含了几何信息和用于控制其外观的渲染状态信息。根节点和各个组节点都可以…

Centos7.x 安装 CDH 6.x

前置条件 ntp服务安装防火墙关闭 执行以下优化代码 systemctl stop firewalld.service echo "* soft nofile 128000" >>/etc/security/limits.conf echo "* hard nofile 128000" >>/etc/security/limits.conf echo "* so…

osg学习博客

http://www.cnblogs.com/mazhenyu/p/3522387.html http://www.cnblogs.com/shapherd/archive/2010/08/10/osg.html&#xff08;基础知识&#xff09;

Windows IEDA 编译Hbase源码报错 - 无法执行shell脚本

windows 下编译 hbase源码&#xff0c;报错 [ERROR] Command execution failed. java.io.IOException: Cannot run program "bash" (in directory "D:\File\ideaWorkspace\hbase-1.4.10-src\hbase-1.4.10\hbase-shaded\hbase-shaded-check-invariants\target\…

怎样查找自增列主键的id

select max(id) from inform &#xff08;inform为表名,查询最大的id值&#xff09;

c++使用Lua

http://www.jb51.net/article/55096.htm

最新版 VMware 安装,虚拟机安装, Ubuntu可视化linux系统安装

一、下载 地址&#xff1a;https://www.vmware.com/cn.html 二、安装VM 选择相应配置&#xff0c;一直下一步即可 双击打开VMware&#xff0c;输入密钥&#xff1a;CG392-4PX5J-H816Z-HYZNG-PQRG2 Ubuntu 镜像下载地址&#xff1a; https://www.ubuntu.com/download/desktop/…