mongodb基本概念

单细胞数据pseudobulks差异分析实战:从聚合到DESeq2 本文详细介绍了单细胞转录组数据分析中pseudobulks(伪散装)方法的实战流程。通过将同一样本的同类型细胞表达值聚合,模拟Bulk RNA-seq数据,再利用DESeq2进行稳健的差异基因分析。该方法有效降低了单细胞数据的技术噪音,特别适用于样本量有限但追求结果稳定性的研究场景,并提供了完整的R代码实现与结果解读指南。 阅读详情

NoSQL
NoSQL,指的是非关系型的数据库, Not Only SQL的缩写,是对不同于传统的关系型数据库的数据库管理系统的统称。Nosql的存储格式丰富,如键-值对存储,列存储,文档存储,图形数据库。 NoSQL用于超大规模数据的存储。(例如谷歌或Facebook每天为他们的用户收集万亿比特的数据)。这些类型的数据存储不需要固定的模式,无需多余操作就可以横向扩展。
mongoDB
  • 来自于英文单词“Humongous”,“庞大”; mongo != mango
  • 面向文档,非关系型的NoSQL数据库
  • 分布式文件存储的数据库,由 C++ 语言编写
  • mongodb 中文网站:www.mongoing.com
  • mongodb 中文文档:docs.mongoing.com
 
主要功能特性:
  1. 文件存储格式BSON(一种json的扩展):数据结构松散,可存储复杂的数据类型
  2. 模式自由:数据格式不受限于表的结构
  3. 支持动态查询: 可通过字段,范围查询进行搜索,并且还支持正则表达式搜索
  4. 支持索引: 多种索引类型
  5. 支持复制(主从复制)和故障恢复:支持集群与分片
  6. 使用高效的二进制数据存储,包括大型对象
  7. 自动处理碎片,以支持云计算层次的扩展。   ??
  8. 支持Java、Ruby、Python、C++、PHP等多种语言
  9. 内部支持Javascript ??
缺陷:
  • 不支持事务,不支持多表联合查询
  • mongoDB占用空间过大
数据库概念:
  • Database
>use db_name  //创建并连接到该库
>show dbs  //列出所有的数据库列表(注意:空数据库不显示)
>db //检查当前选择的数据库
>db.dropDatabase(): 删除当前所连接的数据库
> show dbs
local  0.078GB
test   0.078GB
> use test
switched to db test
> db
test
>
备注:
1.可建立多个数据库
2. 默认数据库:test, 若没有创建过任何数据库,则集合/文档将存储在test数据库中
  • Collection 
> db.createCollection(name, options)
参数说明:
·        name: 要创建的集合名称
·        options: 可选参数, 指定有关内存大小及索引的选项
> show collections :显示当前数据库所拥有的集合
> db.COLLECTION_NAME.drop(): 删除名为COLLECTION_NAME的集合
举例:
> use test
switched to db test
> db.createCollection("col")
{ "ok" : 1 }
> show collections
col
>db.col.drop()
true
 
  • document
> db.COLLECTION_NAME.insert(document)
> db.COLLECTION_NAME.insertOne():向指定集合中插入一条文档数据
> db.COLLECTION_NAME.insertMany():向指定集合中插入多条文档数据
> db.COLLECTION_NAME.save(document)
> db.COLLECTION_NAME.find() :查找已插入的所有文档
> db.COLLECTION_NAME.find().count():查询数量
> db.COLLECTION_NAME.find().limit(NUMBER): 限制查询数量
> db.COLLECTION_NAME.find().skip(NUMBER):跳过文档数量
> db.COLLECTION_NAME.find().sort({KEY:1}):根据指定字段排序,1:升序, -1:降序
> db.COLLECTION_NAME.find({key1:value1, key2:value2}) :AND条件查询
> db.COLLECTION_NAME.find({$or:[{key1:value1, key2:value2}]}) :OR条件查询
> db.COLLECTION_NAME.deleteMany({ key : value })
> db.COLLECTION_NAME.deleteOne({ key : value })
>db.col.insert({"title" : "MongoDB 教程",
"description" : "MongoDB 是一个 Nosql 数据库",
  "by" : "菜鸟教程",
  "url" : "http://www.runoob.com",
  "tags" : [ "mongodb", "database", "NoSQL" ],
"likes" : 100
})
>db.col.find()
{ "_id" : ObjectId("56064886ade2f21f36b03134"), "title" : "MongoDB 教程", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "菜鸟教程", "url" : "http://www.runoob.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 }
> db.col.find({"by":"菜鸟教程", "title":"MongoDB 教程"}).pretty()
{
        "_id" : ObjectId("56063f17ade2f21f36b03133"),
        "title" : "MongoDB 教程",
        "description" : "MongoDB 是一个 Nosql 数据库",
        "by" : "菜鸟教程",
        "url" : "http://www.runoob.com",
        "tags" : [
                "mongodb",
                "database",
                "NoSQL"
        ],
        "likes" : 100
}
>db.col.find().limit(1).skip(2); //仅显示第三个文档
 
Mongodb与RDBMS 的条件语句查询比较:
 
备注:
  1. 在插入的文档中,如果不指定_id参数,那么 MongoDB 会为此文档分配一个唯一的ObjectId,作为主键, _id为集合中的每个文档唯一的12个字节的十六进制数
  2. save 与 insert的区别:
指定_id: 若_id已存在,insert报错;save替换全部数据
不指定_id:insert 和 save 会为此文档分配一个唯一的ObjectId
索引:
  • single field index (单字段索引)
>db.COLLECTION_NAME.ensureIndex({KEY:1})
Key:要创建的索引字段,1:升序创建索引,-1:降序创建索引
  • compound index(复合索引):
复合索引是Single Field Index的升级版本,它针对多个字段联合创建索引,先按第一个字段排序,第一个字段相同的文档按第二个字段排序,依次类推.
>db.COLLECTION_NAME.ensureIndex({KEY1:1,KEY2:1})
举例:
>db.person.ensureIndex({"age":1})  //单字段索引
>db.person.ensureIndex({"title":1, "description":-1}) //复合索引
备注:
1.复合索引的字段顺序,最左前缀索引:复合能满足的查询场景比单字段索引更丰富,不光能满足多个字段组合起来的查询,比如db.person.find( {"age": 18, "name": "jack"} ),也能满足能匹配符合索引前缀的查询,这里{"age": 1}即为{"age": 1, "name": 1}的前缀,所以类似db.person.find( {"age": 18} )的查询也能通过该索引来加速;但db.person.find( {"name": "jack"} )则无法使用该复合索引。如果经常需要根据『name字段』以及『name和age字段组合』来查询,则应该创建如下的复合索引:
>db.person.createIndex( {name: 1, age: 1} )
2. 字段的值分布: 即使person集合所有的查询都是『name和age字段组合』(指定特定的name和age),字段的顺序也是有影响的。age字段的取值很有限,即拥有相同age字段的文档会有很多;而name字段的取值则丰富很多,拥有相同name字段的文档很少;显然先按name字段查找,再在相同name的文档里查找age字段更为高效。
  • multikey index (多key索引)
当索引的字段为数组时,创建出的索引称为多key索引。多key索引会为数组的每个元素建立一条索引,比如person表加入一个habbit字段(数组)用于描述兴趣爱好,需要查询有相同兴趣爱好的人就可以利用habbit字段的多key索引。
举例:
{"name" : "jack", "age" : 19, habbit: ["football, runnning"]}
>db.person.ensureIndex( {habbit: 1} )  // 自动创建多key索引
>db.person.find( {habbit: "football"} )
  • text index (文本索引)
支持对collection中的string内容进行搜索操作,即文本搜索,分词;
索引的建立:
db.COLLECTION_NAME.ensureIndex({key: "text"}) //单键的文本搜索
db.COLLECTION_NAME.ensureIndex({key1: "text", key2: "text"}) //多键的文本搜索
db.COLLECTION_NAME.ensureIndex({"$**":"text"}) //给所有字段建立全文索引
索引的查询
db.COLLECTION_NAME.find({$text:{$search:"coffee"}}) //查询
db.COLLECTION_NAME.find({$text:{$search:"coffee cola -tea"}}) //非查询,加-即为排除该字段:
举例:
>db.col.find()
{ "_id" : ObjectId("56064886ade2f21f36b03134"), "title" : "MongoDB 教程", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "菜鸟教程", "url" : "http://www.runoob.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 }
 
>db.col.ensureIndex({"description ":"text"})  //创建文本索引
>db.col.find ({$text:{$search:"MongoDB "}) //复合索引
{ "_id" : ObjectId("56064886ade2f21f36b03134"), "title" : "MongoDB 教程", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "菜鸟教程", "url" : "http://www.runoob.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 }
>db.col.find({$text:{$search:"MongoDB"}})
>db.col.find({$text:{$search:"MongoDB Nosql"}}) //空格代表或操作,MongoDB或Nosql
>db.col.find({$text:{$search:"Nosql -Nosql"}}) //-号为非操作,即不包含Nosql的
>db.Col.find({$text:{$search: "\" MongoDB \" \" Nosql \""}}) //加双引号可以提供与关系操作
 
备注:
1. 使用文本索引查询不需要指定文本索引的字段名字——直接使用$text,$search即可
2.在MongoDB中每个数据集合只允许创建一个全文索引,不过这个全文索引可以针对一个、多个、全部的数据集合的字段来创建。
3. 每次查询,只能指定一个$text查询
4. MongoDB全文索引还不支持中文
 
  • 其他类型索引
哈希索引(Hashed Index)是指按照某个字段的hash值来建立索引,目前主要用于MongoDB Sharded Cluster的Hash分片,hash索引只能满足字段完全匹配的查询,不能满足范围查询等。
地理位置索引(Geospatial Index)能很好的解决O2O的应用场景,比如『查找附近的美食』、『查找某个区域内的车站』等。
 
10X Visium空间转录组学入门:从芯片结构到数据分析全流程解析(附避坑指南) 本文全面解析10X Visium空间转录组学技术,从芯片物理结构、探针化学原理到湿实验全流程操作与避坑指南,并详细介绍了从FASTQ数据到空间可视化的核心分析流程。文章旨在帮助科研人员跨越从理论到实操的鸿沟,掌握从样本准备、文库构建到使用Space Ranger和Seurat进行数据分析与可视化的完整路径,为组织生物学研究提供清晰的实践指引。 阅读详情

相关推荐

CocosCreator | 自定义启动页之H5

01 效果对比 默认启动页: 自定义启动页: 02 启动页存在的意义 我们在 creator 中的开发的游戏都是基于 cocos engine,所以在展示我们的游戏之前,是必须要先加载 cocos engine,然后才是我们自己的业务代码 流程图如下: 而构建完成后未精简的 cocos engine 代码为 1.9M 如果再加上物理相关代码的话,一共是2M 别忘了,我们自己的首场景也要加载过程哦 所以,从游戏启动,到真...

Valiancer 5895

MongoDB 使用教程--基本增删改查语法

MongoDB文档的数据结构和JSON基本一样。 切换数据库,此处使用NoSQL Manager for MongoDB工具作为客户端,  命令 user test 查看所有数据库   show dbs 切换到数据库 runoob: use runoob 执行删除命令: db.dropDatabase() 删除集合 db.colle

IT少年 4万+

【深大计算机网络】实验三 可靠传输机制 实验报告 附代码

【内附代码】【深大计算机网络】实验三 可靠传输机制 实验报告 附代码

m0_74268508的博客 1653

MongoDB详解,用心看这篇就够了【重点】

1.1 MongoDB概述 MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。 MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。 它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。 Mo

ᶻᶻᶻ 枕星河的博客 9万+

机器人控制入门:用SAC算法让机械臂学会抓取(PyBullet仿真教程)

本文详细介绍了如何使用SAC算法在PyBullet仿真环境中训练机械臂完成抓取任务。通过强化学习中的软Actor-Critic(SAC)算法,结合熵最大化机制和双Q网络架构,有效解决了机械臂控制中的探索难题。教程包含环境搭建、算法原理、状态空间设计、奖励函数优化等核心内容,并提供了实用的训练技巧和参数调优指南。

weixin_29091105的博客 358

LVI-SAM实战:如何在Ubuntu20.04上快速复现激光-视觉-惯性里程计系统

本文详细解析了在Ubuntu 20.04环境下部署和优化LVI-SAM激光-视觉-惯性里程计系统的全流程。从环境配置、依赖安装到源码编译和实战调参,提供了完整的解决方案和性能优化策略,帮助开发者快速实现厘米级精度的实时位姿估计。

m3n5b7v8c9x的博客 1046

MongoDB从零开始详细教程(超详细讲解)

目录一、简介1. 简单介绍2. 业务应用场景3. 什么时候选择MongoDB4. 体系机构5. 数据类型6. 特点二、Windows安装&启动&连接1. 下载压缩包2. 解压3. 安装服务4. 启动服务5. shell连接登录&退出6. Compass图形化连接登录三、Linux安装&启动&连接1. 下载压缩包2. 上传到服务器&解压3. 创建数据/日志存放目录4. 启动服务5. 登录6. Compass图形化连接登录四、基本常用命令1. 数据库相关2. 集合

欢迎来到 Baret-H 的博客 5万+

uniapp - 实现APP后台持续定位+手机息屏后能持续上传位置信息数据,详解后台保活持续运行+手机锁屏保证后台持续/实时定位的解决方案及示例源码(完美兼容安卓android与苹果ios系统手机)

使用uniapp开发app实现后台保活定位能力,uniapp实时定位保活 息屏定位后台运行,uniapp APP实时定位高德 后台运行 支持锁屏息屏运行,持续获取定位信息,uniapp App端后台间隔时间发送定位功能实现,UniApp实现手机应用常活,固定时间内上传手机位置信息,后台(或锁屏)持续/实时定位的实现方案,uni-app后台持续定位,锁屏后能持续上传位置信息,实现后台定位持续无限制定位高德定位,百度定位,UniApp后台持续定位保如何在APP退到后台时保持定位服务,uniapp 切换app仍能

🏆 前端领域优质创作者 1万+

MongoDB 详解,超全!!!

MongoDB是一个开源的文档型数据库管理系统,采用BSON(Binary JSON)格式存储数据。它使用灵活的文档模型代替传统的表格模型,可以方便地存储和查询半结构化的数据。MongoDB的设计目标是轻松扩展和高性能,适用于需要处理大量数据和高并发请求的场景。通过总结实际项目中的经验和教训,可以得出一些最佳实践和优化建议。例如,选择合适的硬件配置和部署方案,规划好数据模型和索引策略,定期维护和监控数据库性能等。

m0_72410588的博客 1万+

基于FPGA的UDP 通信(一)

手头的FPGA开发板上有一个千兆网口,最近准备做一下以太网通信的内容。本文先介绍基本的理论知识。 FPGA芯片型号:xc7a35tfgg484-2 网口芯片:RTL8211 网络接口:RJ45

记录所学,分享知识,结识挚友 8358

D457深度相机调试记录(max96712+max9295A)

使用max96712解串器解4路D457相机。采集深度相机Depth和RGB流。

navy2015_163的博客 1262

mongoDB详解

mongodb的详细介绍,包含mongo的相关语句,复制集群,分片集群等

weixin_38612401的博客 3万+

修复漏洞Windows 2012 Server R2(CVE-2016-2183)、(CVE-2015-2808)、(CVE-2013-2566)

【代码】修复漏洞Windows 2012 Server R2(CVE-2016-2183)、(CVE-2015-2808)、(CVE-2013-2566)

路~可以走过 2772

MongoDB基本概念

MongoDB 是一个开源的文档型数据库,以其灵活的文档模型和高扩展性著称。作为 NoSQL 数据库的一种,MongoDB 适用于处理大规模的数据存储和查询需求。本篇文章将介绍 MongoDB 的基本概念,帮助初学者快速上手。MongoDB 是一个基于分布式文件存储的 NoSQL 数据库,由 10gen(现 MongoDB Inc.)公司开发和维护。它使用 BSON(类似 JSON 的二进制格式)存储数据,具有高性能、可扩展、灵活等特点。

ztlhhh的博客 3018

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

mongodb基本概念和使用

一、前言:NOSQL    nosql:即not only sql,区别于应用于RDBMS(关系型数据库)的SQL(结构化查询语言)。SQL主要用于结构化存储的数据的查询与分析操作。而nosql支持类似sql的功能,但是与之相比没有那么多约束,显得更灵活。    nosql通常泛指非关系型数据库,通常分为以下四大类:键值(Key-Value)存储数据库这一类数据库主要会使用到一个哈希表,这个表中有...

人生如流沙的博客 1万+

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

MongoDB 的基本概念

数据库是 MongoDB 中最高层次的概念,是一个存储数据的逻辑容器,它可以包含多个集合。一个 MongoDB 实例可以管理多个数据库,每个数据库都有自己独立的权限和存储空间。可以使用`use`命令在 Mongo Shell 中切换或创建数据库。

weixin_64684095的博客 1183

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

MongoDB 基本概念

MongoDB是面向集合的文档式数据库,不像关系数据库那样,有表,列、行,mongoDB数据库则是由一系列的文档组成。以下介绍MongoDB的基本概念

执子之手 606

mongodb中关联的为数组如何查询_MongoDB数据库之基本概念

MongoDB是面向集合的文档式数据库,不像关系数据库那样,有表,列、行,MongoDB数据库则是由一系列的文档组成。以下介绍MongoDB的基本概念。1.1 文档文档是MongoDB数据库的最小集合单位,其基本概念为:由多个键及其关联的值有序组合在一起的集合单元。如{“One”:3, ”Two”:”Hello,MongoDB”}可以将文档看成关系数据库中的行,每个键/值组合可以看成是这个行中对应...

weixin_39590453的博客 609

MongoDB的基本概念与操作

本文来说下MongoDB的基本概念与操作 文章目录概述 概述 MongoDB是非关系型数据库当中最像关系型数据库的,所以我们通过它与关系型数据库的对比,来了解下它的概念。

wh柒八九的博客 301

Mongodb基本概念

官网 https://www.mongodb.com/MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。

fhw925464207的博客 258

二、MongoDB 基本概念 及 CRUD

一、基本概念   文档:MongoDB的核心概念。多个键及其关联的值有序地放置在一起便是文档。相当于关系数据库中的行(但比行复杂)   集合:可以被看做没有模式的表,多个文档组成集合   数据库:多个集合组成数据库      MongoDB shell:MongoDB自带一个JavaScript shell,可以从命令行与MongoDB实例交互。      _id和ObjectId生

yameing在努力学习中... ... 8042

01.MongoDB基本概念和原理

一、MongoDB概述 1、mongoDB概述 MongoDB 是一个基于分布式文件存储的数据库。由C++语言编写 2、NoSQL概述 NoSQL,指的是非关系型的数据库。NoSQL 有时也称作Not Only SQL 的缩写, 是对不同于传统的关系型数据库的数据库管理系统的统称。NoSQL 用于超大规模数据的存储 3、关系数据库对比非关系数据库 关系型数据库 ...

一叶知秋 8410

MongoDB存储原理和基本概念

1.MongoDB集群搭建方式: ①Replica set:复制集,mongodb的架构方式之一 ,通常是三个对等的节点构成一个“复制集”集群,有“primary”和secondary等多中角色(稍后详细介绍),其中primary负责读写请求,secondary可以负责读请求,这有配置决定,其中secondary紧跟primary并应用write操作;如果primay失效,则集群进行“多数派”选举,选举出新的primary,即failover机制,即HA架构。复制集解决了单点故障问题,也是mongo..

my java博客园 4052
上一篇: Springboot 中application.yml和bootStrap.yml 的加载顺序
下一篇: git 批量删除标签
雨冰
博客等级 码龄15年 18粉丝 60原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值