mongo(三)基本操作

mongo(三)基本操作

mongo(三)基本操作

本文来自mongodb官方文档的部分翻译以及自己的理解。
 
CRUD:增加(Create)、读取(Retrieve)(重新得到数据)、更新(Update)和删除(Delete)几个单词的首字母简写。
mongodb是以文件形式存储数据的,像json一样的field-value。
 
mongo(三)基本操作
 
 
mongodb读操作
 
一般来说,一张图能说明很多问题
mongo(三)基本操作
 
mongodb把所有的文件存储在collections中,一个collections是由一些相关的文件组成的,类似与关系数据库中的表。
 
mongo(三)基本操作
在mongodb中,query是针对collections的(可以理解为针对表table);
query请求中包括请求条件,从而可以在collections中挑选目标信息返回;
modifier一般会包含limits,skips和sort orders等操作,对数据进行进一步的处理。
mongo(三)基本操作
 
db.records.find( { "user_id": { $lt: 42 } }, { "history": 0 } )
可以通过设置第二个{}字典来设置显示的字段(fields)信息,在这里history设置为0,表示history字段不需要显示,反之,设置为1的话只显示history字段
db.records.find( { "user_id": { $lt: 42 } }, { "name": 1, "email": 1 } )
如上,这里就是只显示两个字段信息,name和email

cursor
cursor在mongodb中仍然存在,默认情况下cursor关闭的时间为10分钟无操作之后。可以通过:cursor.addOption()来设置cursor的属性:

mongo(三)基本操作
mongodb返回的数据是分批返回的,默认情况下第一次返回101 documents(最多不超过1 megabyte,后续批量大小是4 mb),可通过
batchSize() and 
limit()来改变返回数据的数量。
 
添加索引
在mongodb的shell下,通过
db.collection.ensureIndex() 命令来添加索引字段信息,可以使用
explain() 来查询一次查询相关的统计信息。
db.inventory.ensureIndex( { type: 1 } )
db.inventory.ensureIndex( { type: 1, item: 1 } )

分片集群读取操作

mongo(三)基本操作

mongos,数据库集群请求的入口,所有的请求都通过mongos进行协调,不需要在应用程序添加一个路由选择器,mongos自己就是一个请求分发中心,它负责把对应的数据请求请求转发到对应的shard服务器上。在生产环境通常有多mongos作为请求的入口,防止其中一个挂掉所有的mongodb请求都没有办法操作。

config server,顾名思义为配置服务器,存储所有数据库元信息(路由、分片)的配置。mongos本身没有物理存储分片服务器和数据路由信息,只是缓存在内存里,配置服务器则实际存储这些数据。mongos第一次启动或者关掉重启就会从 config server 加载配置信息,以后如果配置服务器信息变化会通知到所有的 mongos 更新自己的状态,这样 mongos 就能继续准确路由。在生产环境通常有多个 config server 配置服务器,因为它存储了分片路由的元数据,这个可不能丢失!就算挂掉其中一台,只要还有存货, mongodb集群就不会挂掉。

mongodb支持javascript的基本语法

定义变量

var xxx = {“xx”,”xx”}
插入数据库 
db.xxx.insert(xxx)

查找条件

①: >, >=, <, <=, !=, =
在mongodb中对应于”$gt”, “$gte”, “$lt”, “$lte”, “$ne”,和shell比较大小的相同
mongo(三)基本操作
②:and,ro,in,nin
and其实就是默认的搜索条件,不需要添加and
mongo(三)基本操作
 
②:正则表达式
mongo(三)基本操作
$where语句
 
update更新 inc累加 set设置
mongo(三)基本操作
 
mongo(三)基本操作
upsert语句,如果没有就要插入
具体格式为db.database.update({“xx”:”xx”}, {$inc:{“xx”:”xx”}}, true)
mongo(三)基本操作

limit和skip
mongo(三)基本操作

转载于:https://www.cnblogs.com/coder2012/p/4130681.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/109641.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 二叉树的5个重要性质「建议收藏」

    二叉树的5个重要性质「建议收藏」1.在二叉树的第i层上最多有2 i-1 个节点。(i>=1) 用归纳法证明:归纳基:i=1层时,只有一个根结点,          2i-1=20=1;归纳假设:假设i=k时,命题成立;归纳证明:二叉树上每个结点至多有两棵子树,则第k+1层的结点数最多为2k-12=2k+1-1。

  • rock数据集ResNet34实现「建议收藏」

    rock数据集ResNet34实现「建议收藏」1.搭建ResNet网络Resnet_model.py#-*-coding:utf-8-*-importtorch.nnasnnimporttorchclassBasicBlock(nn.Module):expansion=1def__init__(self,in_channel,out_channel,stride=1,downsample=None,**kwargs):super(BasicBlock,self).

  • Spring AOP详细介绍

    Spring AOP详细介绍AOP称为面向切面编程,在程序开发中主要用来解决一些系统层面上的问题,比如日志,事务,权限等待,Struts2的拦截器设计就是基于AOP的思想,是个比较经典的例子。一AOP的基本概念(1)Asp

  • 目标检测(Object Detection)

    目标检测(Object Detection)文章目录目标检测(ObjectDetection)一、基本概念1.什么是目标检测2.目标检测的核心问题3.目标检测算法分类1)TowStage2)OneStage4.目标检测应用1)人脸检测2)行人检测3)车辆检测4)遥感检测二、目标检测原理1.候选区域产生1)滑动窗口2)选择性搜索①什么是选择性搜索②选择搜索流程③选择搜索优点2.数据表示3.效果评估4.非极大值抑制三、目标检测模型1.R-CNN系列1)R-CNN①定义②流程③效果④缺点2)FastR-CNN①定义

  • CSDN社区_毒APP公告

    CSDN社区_毒APP公告用户为本,让用户成为CSDN产品的主人,为此,我们特开设了CSDN产品公告栏,切实听取大家对新功能的反馈,定期抽取部分反馈用户赠送精美礼品一份!在过去一周,CSDN研发团队又上线了哪些功能呢?让我一起看下:CSDNAPP发布最新版,新增大厂在线刷题功能CSDN博主排名更新,原创优质博文更容易得到曝光MD编辑器优化操作更便捷更加极客酷炫的博客皮肤3.0上线绑定脉脉即可获得专属勋…

  • JS实现图片循环滚动

    JS实现图片循环滚动之前在前端的时候有遇到这样一个问题,实现JS图片的循环滚动,然后鼠标移入的时候停止滚动,鼠标移开继续滚动,这里无非就是设置了一个定时器,鼠标移上时清除定时器达到滚动停止的目的,鼠标移开时重设定时器,代码如下:<!DOCTYPE><html> <head> <metacharset=”UTF-8″> <title>JS实…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号