MongoDB学习笔记(一)--基础

Insert                                                                                       

MongoDB在执行插入时,首先会将插入的数据转换成BSON格式。然后MongoDB数据库会对BSON进行解剖,并检查是否存在_id建。

>doc = {"_id" : 1,"author" : "yyd","title" : "MongoDB Test","text" : "this is a test","tags" : ["love","test"],"comments" : [{"author" : "yyd_guest","comment" : "yes"},{"author" : "yyd_admin","comment" : "no"}]
}
> db.yyd.insert(doc);

 

Query                                                                                       

全部查找

1

返回除了 tags 字段外的所有字段

1

返回 tags = test 除了 comments 的所有列

1

返回 id=1 的 title 字段

1

  • <, <=, >, >=

image

大于 $gt、小于 $lt、大于等于 $gte、小于等于 $lte

  • $all

$all 操作类似$in 操作,但是不同的是,$all 操作要求数组里面的值全部被包含在返回的记录里面。

image

  • $exists

$exists 操作检查一个字段是否存在。

image

$exists:true代表返回存在这个键的值。

$exists:false代表返回不存在这个键的值。

  • $mod
> db.user.find("this._id%2==1");
> db.user.find({_id:{$mod:[2,1]}});

两句话一样的效果。

  • $ne

$ne 意思是 not equal,不等于。

image

  • $in

$in 操作类似于传统关系数据库中的 IN。

image

  • $nin

$nin 跟$in 操作相反。

  • $or

image

  • $nor

$nor 跟$or 相反。

  • $size

$size 操作将会查询数组长度等于输入参数的数组。

image

  • skip

跳过前 2 条记录。

image

  • limit

每页返回 3 条记录

image

  • sort()

sort()方法对返回记录集按照指定字段进行排序返回,1 表示升序,-1 表示降序。

image

  • count()

count()方法返回查询记录的总数目。

image

 

Remove                                                                                     

image

 

Update                                                                                     

  • update()
db.collection.update( criteria, objNew, upsert, multi )

参数说明:

Criteria:用于设置查询条件的对象

Objnew:用于设置更新内容的对象

Upsert:如果记录已经存在,更新它,否则新增一个记录

Multi:如果有多个符合条件的记录,全部更新

注意:默认情况下,只会更新第一个符合条件的记录

  • save()

如果存在更新它,如果不存在,新增记录。

image

  • $inc

增加1,对int等有效。

对一个_id=3 的 user 的年龄进行加 1,两种方法。

image

image

  • $set
{ $set : { field : value } }

把 field 的值设置成 value,当 field 不存在时,增加一个字段,类似 SQL 的 set 操作,value 支持所有类型。

  • $unset
{ $unset : { field : 1} }

      删除给定的字段 field。

  • $push
{ $push : { field : value } }

如果 filed 是一个已经存在的数组,那么把 value 追加给 field;

如果 field 原来不存在,那么新增 field 字段,把 value 的值赋给 field;

如果 field 存在,但是不是一个数组,将会出错。

  • $pushAll
{ $pushAll : { field : value_array } }

功能同$push,只是这里的 value 是数组,相当于对数组里的每一个值进行$push操作。

  • $addToSet
{ $addToSet : { field : value } }

如果 filed 是一个已经存在的数组,并且 value 不在其中,那么把 value 加入到数组;

如果 filed 不存在,那么把 value 当成一个数组形式赋给 field;$pop

如果 field 是一个已经存在的非数组类型,那么将会报错。

  • $pop
{ $pop : { field : 1 } }

删除数组中最后一个元素

{ $pop : { field : -1 } }

删除数组中第一个元素

  • $pull
{ $pull : { field : _value } }

如果 field 是一个数组,那么删除符合_value 检索条件的记录;

如果 field 是一个已经存在的非数组,那么会报错。

  • $pullAll
{ $pullAll : { field : value_array } }
  • $rename
{ $rename : { old_field_name : new_field_name }

重命名指定的字段名称。

 

 

转载请注明出处:http://www.cnblogs.com/yydcdut/p/3557414.html

转载于:https://www.cnblogs.com/yydcdut/p/3557414.html

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

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

相关文章

第3章 Python 数字图像处理(DIP) - 灰度变换与空间滤波4 - 分段线性变换 - 对比度拉伸

目录分段线性变换对比度拉伸最大最小值拉伸分段线性变换 优点 形式可以任意复杂 缺点 要求用户输入很多参数 对比度拉伸 光照不足、成像传感器的动态范围偏小、图像获取过程中镜头孔径的设置错误 点(r1,s1)和点(r2,s2)(r_1, s_1)和点(r_2, s_2)(r1​,s1​)和点(r2​,s2​…

2017网易内推编程题(判断单词):解答代码

2019独角兽企业重金招聘Python工程师标准>>> 小易喜欢的单词具有以下特性&#xff1a; 1.单词每个字母都是大写字母 2.单词没有连续相等的字母 3.单词没有形如“xyxy”(这里的x&#xff0c;y指的都是字母&#xff0c;并且可以相同)这样的子序列&#xff0c;子序列可…

Debian下IPv6设定主地址 Set primary IPv6 address under Debian Linux

Linux下选择IPv6主地址是按照一定规则来的 #RFC3484 (davidc) Prefer same address. (i.e. destination is local machine) Prefer appropriate scope. (i.e. smallest scope shared with the destination) Avoid deprecated addresses. Prefer home addresses.Prefer outgo…

iphone查看删除的短信_想要恢复已经删除的的短信怎么办?

阅读本文前&#xff0c;请您先点击上面的蓝色字体&#xff0c;再点击“关注”&#xff0c;这样您就可以继续免费收到文章了。每天都有分享&#xff0c;完全是免费订阅&#xff0c;请放心关注。 …

获取套接字相关联信息

前言 知道套接字描述符&#xff0c;如何获取这个套接字连接的相关信息呢&#xff1f;显然&#xff0c;这是一个必须要清楚的问题。 获取本地协议信息 函数原型&#xff1a;int getsockname ( int sockfd, struct sockaddr *localaddr, socklen_t *addrlen ) 函数功能&#xff1…

第3章 Python 数字图像处理(DIP) - 灰度变换与空间滤波5 - 分段线性变换 - 灰度级分层

目录灰度级分层灰度级分层 二值图像 将感兴趣范围内的所有灰显示为一个值&#xff08;白色&#xff09;&#xff0c;而将其它灰度值显示为另一个值&#xff08;黑色&#xff09; 其他灰度级不变 使期望的灰度范围变量&#xff08;或变暗&#xff09;&#xff0c;但保持图像中…

Oracle查看锁表

查看锁表进程SQL语句1&#xff1a; select sess.sid, sess.serial#, lo.oracle_username, lo.os_user_name, ao.object_name, lo.locked_mode from v$locked_object lo, dba_objects ao, v$session sess where ao.object_id lo.object_id and lo.session_id sess.sid; 查看锁…

SQL Server聚集索引的选择

先声明文章非原创&#xff0c;摘自博客园&#xff1a;http://www.cnblogs.com/CareySon/archive/2012/03/06/2381582.html 简介 在SQL Server中&#xff0c;数据是按页进行存放的。而为表加上聚集索引后&#xff0c;SQL Server对于数据的查找就是按照聚集索引的列作为关键字进行…

c++突破网关屏蔽_为什么加了屏蔽罩,测试效果反而不好?

来自专治PCB疑难杂症微信群群友(群友突破1200人啦&#xff0c;文末添加杨老师微信号&#xff0c;可添加入群)的问题讨论&#xff1a;设计时我加了屏蔽罩&#xff0c;结果在测试的时候不加屏蔽罩的效果要比加了屏蔽罩的效果好&#xff0c;这是为何&#xff1f;跟PCB设计的屏蔽罩…

第3章 Python 数字图像处理(DIP) - 灰度变换与空间滤波6 - 分段线性变换 - 比特平面分层

目录比特平面分层比特平面分层 在一幅256级灰度图像中&#xff0c;图像的值是由8比特&#xff08;1字节&#xff09;组成的 def convert_bin(data, n):"""convert decimal to binary, return n th bit, 0 if bit value 0 else 1""" #---------…

与众不同 windows phone (5) - Chooser(选择器)

与众不同 windows phone (5) - Chooser&#xff08;选择器&#xff09; 原文:与众不同 windows phone (5) - Chooser&#xff08;选择器&#xff09;[索引页][源码下载] 与众不同 windows phone (5) - Chooser&#xff08;选择器&#xff09;作者&#xff1a;webabcd介绍与众不…

iOS GCD

from&#xff1a;http://www.cnblogs.com/dsxniubility/p/4296937.html 一般&#xff1a; dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{// 耗时操作dispatch_async(dispatch_get_main_queue(), ^{// 更新UI});}); 本文是对以往学习的多线…

c++和java哪个难_2020 年 11 月编程语言排行榜,Python 超越 Java ?

来源&#xff1a;tiobe.com/tiobe-index/November-2020TIOBE 2020 年 11 月份的编程语言排行榜已经公布&#xff0c;官方的标题是&#xff1a;Python 势如破竹&#xff0c;超越 Java。题外话: 目前小哈正在个人博客(新搭建的网站&#xff0c;域名就是犬小哈的拼音) www.quanxia…

C# 温故而知新:Stream篇(七)

C# 温故而知新&#xff1a;Stream篇&#xff08;七&#xff09; NetworkStream 目录&#xff1a; NetworkStream的作用简单介绍下TCP/IP 协议和相关层次简单说明下 TCP和UDP的区别简单介绍下套接字&#xff08;Socket&#xff09;的概念简单介绍下TcpClient,TcpListener,IPEndP…

第3章 Python 数字图像处理(DIP) - 灰度变换与空间滤波7 - 直方图处理 - 直方图、归一化直方图

目录直方图处理直方图处理 令rk,k0,1,2,…,L−1r_k, k0, 1, 2, \dots, L-1rk​,k0,1,2,…,L−1表于一幅LLL级灰度数字图像f(x,y)f(x,y)f(x,y)的灰度。fff的非归一化直方图定义为&#xff1a; h(rk)nk,k0,1,2,…,L−1(3.6)h(r_{k}) n_{k}, \quad k 0, 1, 2, \dots, L-1 \tag{…

Xamarin Android提示找不到资源属性定义

为什么80%的码农都做不了架构师&#xff1f;>>> Xamarin Android提示找不到资源属性定义 错误信息&#xff1a;”Resource.Attribute”未包含”actonBarSize”的定义 Xamarin Android经常会出现找不到资源属性的错误。遇到这种问题&#xff0c;建议先清理解决方法和…

Google Chrome保存插件方法

1、拷贝下面地址到记事本 https://clients2.google.com/service/update2/crx?responseredirect&xid%3D~~~~%26uc 2、打开插件所在的页面&#xff0c;拷贝插件地址到记事本 如&#xff1a;https://chrome.google.com/webstore/detail/axure-rp-extension-for-ch/dogkpdfckl…

java web项目_[适合初中级Java程序员修炼手册从0搭建整个Web项目](二)

前言文本已收录至我的GitHub仓库&#xff0c;欢迎Star&#xff1a;https://github.com/bin392328206种一棵树最好的时间是十年前&#xff0c;其次是现在six-finger-web一个Web后端框架的轮子从处理Http请求【基于Netty的请求级Web服务器】 到mvc【接口封装转发)】&#xff0c;再…

MapReduce操作HBase

运行HBase时常会遇到个错误&#xff0c;我就有这样的经历。 ERROR: org.apache.hadoop.hbase.MasterNotRunningException: Retried 7 times 检查日志&#xff1a;org.apache.hadoop.ipc.RPC$VersionMismatch: Protocol org.apache.hadoop.hdfs.protocol.ClientProtocol versio…

转 ABAP_ALV_Function方式与OO方式(较为简单、普通的ALV)

ABAP_ALV_Function方式与OO方式(较为简单、普通的ALV) 分类&#xff1a; SAP ABAP2013-01-31 09:58 1511人阅读 评论(0) 收藏 举报目录 一、ALV简介 1、简介 2、ALV_GRID介绍 3、其它描述 二、开发ALV的基本流程 三、ALV相关开发细节 1、标准ALV与对象ALV的共同开发细节 2、标准…