MongoDB

MongoDB实战 – 用MongoDB Shell访问MongoDB数据库 MongoDB Shell用来连接和使用MongoDB,是最快捷的方式;用户可以使用Mongo Shell查询和更新数据以及执行管理操作。 Mongo Shell作为MongoDB Server安装的一部分包含在内。 阅读详情

MongoDB 数据库使用指南

MongoDB 是一款开源的 NoSQL 数据库,以其灵活性、高性能和可扩展性著称。它采用文档型数据模型(基于 BSON 格式),特别适合处理半结构化或动态变化的数据。本指南将逐步引导您从安装到基本查询操作,帮助您快速上手 MongoDB。参考站内资源,确保内容真实可靠。

1. 安装 MongoDB

安装是使用 MongoDB 的第一步。以下是常见平台的安装方法:

  • Windows/macOS 安装:

    1. 访问 MongoDB 官网下载安装包。
    2. 运行安装程序,并设置环境变量。
    3. 启动 MongoDB 服务:在终端输入 mongod 启动服务器,然后打开另一个终端输入 mongo 进入命令行界面。
      参考快速搭建指南中的详细步骤。
  • Linux 使用 Docker 部署(推荐):

    1. 安装 Docker:运行 sudo apt-get install docker.io。
    2. 拉取 MongoDB 镜像:docker pull mongo。
    3. 创建并启动容器:docker run -d --name mongo-container -p 27017:27017 mongo。
    4. 本地测试连接:使用 mongo 命令或 MongoDB Compass GUI 工具连接 localhost:27017。
      此方法简化了环境配置,支持快速远程访问设置。

安装完成后,验证:运行 mongo --version 查看版本信息。

2. 基本概念和设置

MongoDB 的核心是文档(Document)和集合(Collection),区别于传统关系型数据库的表结构:

  • 文档:数据存储的基本单位,类似 JSON 对象,但使用 BSON(Binary JSON)格式存储,支持嵌套数据。例如:{ "name": "张三", "age": 30, "address": { "city": "北京" } }。
  • 集合:一组文档的容器,相当于表。一个数据库可包含多个集合。
  • 数据库:创建新数据库:在 mongo shell 中运行 use mydb(如果 mydb 不存在,则首次插入数据时自动创建)。
    参考基础指南,了解 MongoDB 的灵活数据模型设计。
3. 基本操作:CRUD 和查询

MongoDB 使用 JavaScript-like 语法进行操作。以下是在 mongo shell 中的常见命令:

  • 插入数据:
    db.users.insertOne({ name: "李四", age: 25 }); // 插入单个文档
    db.users.insertMany([{ name: "王五" }, { name: "赵六" }]); // 插入多个文档
    
  • 查询数据:
    • 基本查询:使用 find() 方法。
      db.users.find({ age: { $gt: 20 } }); // 查询年龄大于20的文档
      
    • 投影(选择字段):db.users.find({}, { name: 1 }); // 只返回 name 字段。
    • 条件运算符:如 $eq(等于)、$lt(小于)、$in(在列表中)。例如:db.users.find({ age: { $in: [25, 30] } });。
  • 更新数据:
    db.users.updateOne({ name: "李四" }, { $set: { age: 26 } }); // 更新单个文档
    
  • 删除数据:
    db.users.deleteOne({ name: "王五" }); // 删除匹配文档
    

查询是 MongoDB 的核心,支持高效过滤。参考学习指南中的聚合管道和地理空间查询等高级功能。

4. 高级查询和优化
  • 聚合管道:用于复杂数据分析,如分组和统计。
    db.users.aggregate([
      { $match: { age: { $gt: 20 } } }, // 过滤
      { $group: { _id: "$city", count: { $sum: 1 } } } // 按城市分组计数
    ]);
    
  • 索引优化:加速查询。创建索引:db.users.createIndex({ name: 1 });(1 表示升序)。
  • 远程访问设置:在 Linux 中,使用内网穿透工具(如 frp)实现公网访问。参考部署指南中的步骤。
  • 错误处理:如果数据库损坏,可使用修复命令 mongod --repair,或参考修复指南中的详细方法。
5. 最佳实践
  • 安全性:启用身份验证:启动 mongod 时添加 --auth 参数,并创建用户。
  • 性能监控:使用 db.stats() 查看数据库状态,或工具如 MongoDB Atlas 进行云管理。
  • 备份和恢复:运行 mongodump 备份数据,mongorestore 恢复数据。

通过本指南,您已掌握 MongoDB 的安装、基本操作和查询核心。MongoDB 适用于博客数据存储、实时分析等场景,得益于其灵活架构。实践时,建议结合官方文档和社区资源深入学习。

思维导图

在这里插入图片描述


MongoDB 技术原理详解

一、核心数据结构与存储原理
  1. BSON 文档格式
    MongoDB 使用 BSON(Binary JSON) 作为基础数据结构,在 JSON 基础上扩展了二进制数据类型(如日期、二进制数据等)。

    • 数据结构示例:
      {
        _id: ObjectId("507f1f77bcf86cd799439011"), // 12字节唯一ID(时间戳+机器ID+进程ID+计数器)
        name: "张三",
        age: 30,
        address: { // 嵌套文档
          city: "北京",
          geo: [116.40, 39.90] // 数组类型
        }
      }
      
  2. 存储引擎(WiredTiger)

    • 数据结构:使用 B+树 存储索引,叶子节点直接包含数据指针(默认配置)
      • 索引键:B+树键值 → 磁盘位置
    • 内存管理:
      • 采用 MVCC(多版本并发控制),读写操作不互斥
      • 使用 Snappy/Zlib 压缩 减少磁盘占用(可配置)
    • 日志机制:预写日志(Write-Ahead Log)确保崩溃恢复
二、核心算法与组件功能
组件算法/功能技术原理
查询优化器基于代价的优化(CBO)生成多个候选查询计划,通过试运行选择最快路径(explain()可查看)
分片集群一致性哈希分片数据按分片键(Shard Key)自动分布,mongos路由查询到目标分片
副本集Raft 选举协议自动主节点选举(Primary),数据复制到 Secondary 节点(最终一致性)
聚合管道分阶段流式处理管道操作符($match, $group, $sort)组合实现类 MapReduce 功能
三、关键技术原理
  1. 索引机制

    • B+树索引:支持高效范围查询(时间复杂度 O(log⁡n)O(\log n)O(logn))
    • 多键索引:为数组字段的每个元素创建独立索引项
    • 地理空间索引:使用 GeoHash 算法 将二维坐标转换为一维字符串
  2. 事务实现(ACID)

    • 多文档事务(4.0+)基于 快照隔离(Snapshot Isolation)
    • 两阶段提交(2PC)保证跨分片事务一致性
  3. 内存映射文件

    • 将磁盘文件映射到内存,由操作系统管理页缓存(Page Cache)
    • 高频访问数据常驻内存,提升读取性能
四、优缺点分析
优势劣势
✅ 灵活文档模型(动态增减字段)❌ 多表关联查询弱(需应用层或$lookup实现)
✅ 水平扩展性强(自动分片)❌ 事务性能开销较大(相比OLTP数据库)
✅ 高性能读写(内存映射+压缩)❌ 内存消耗较高(建议预留50%内存)
✅ 内置高可用(副本集自动故障转移)❌ 不支持SQL标准语法
五、Java 示例代码(含中文注释)
import com.mongodb.client.*;
import com.mongodb.client.model.*;
import org.bson.Document;
import java.util.Arrays;

public class MongoDBDemo {
    public static void main(String[] args) {
        // 1. 连接MongoDB(默认端口27017)
        try (MongoClient client = MongoClients.create("mongodb://localhost:27017")) {
            
            // 2. 获取数据库(不存在则自动创建)
            MongoDatabase db = client.getDatabase("testDB");
            
            // 3. 获取集合(类似SQL的表)
            MongoCollection<Document> users = db.getCollection("users");
            
            // 4. 插入文档(自动生成_id)
            Document user1 = new Document("name", "张三")
                .append("age", 30)
                .append("tags", Arrays.asList("工程师", "摄影")); // 数组字段
            users.insertOne(user1);
            
            // 5. 创建索引(加速age字段查询)
            users.createIndex(Indexes.ascending("age")); 
            
            // 6. 查询文档(使用Bson过滤器)
            Document query = new Document("age", new Document("$gt", 25)); // age>25
            FindIterable<Document> results = users.find(query);
            for (Document doc : results) {
                System.out.println(doc.toJson()); // 输出BSON为JSON
            }
            
            // 7. 更新文档(原子操作)
            users.updateOne(
                Filters.eq("name", "张三"), 
                Updates.set("age", 31) // 设置age=31
            );
            
            // 8. 聚合查询(统计各年龄人数)
            users.aggregate(Arrays.asList(
                Aggregates.group("$age", Accumulators.sum("count", 1)) // 按age分组计数
            )).forEach(doc -> System.out.println(doc));
            
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
六、关键注释说明
  1. 连接管理:MongoClients.create() 使用连接池(默认大小100)
  2. 文档操作:Document 类对应BSON结构,支持嵌套和数组
  3. 查询优化:createIndex() 显著提升 $gt 等范围查询性能
  4. 聚合管道:Aggregates.group() 实现类似SQL的 GROUP BY
  5. 事务支持:Java驱动支持 client.startSession() 开启多文档事务(需MongoDB 4.0+)

通过上述设计,MongoDB 在灵活数据模型、水平扩展和高吞吐场景中表现优异,但需避免复杂事务和关联查询。实际应用中,建议结合业务场景选择索引策略和分片键。

思维导图

在这里插入图片描述


MongoDB 聚合管道实现复杂数据分析方法

MongoDB 聚合管道通过多阶段数据处理实现复杂分析,核心阶段包括:

  1. $match:过滤文档(类似 SQL WHERE)
  2. $group:分组聚合(类似 SQL GROUP BY)
  3. $project:字段重塑(选择/计算新字段)
  4. $lookup:跨集合关联(类似 SQL JOIN)
  5. $unwind:展开数组字段

代码示例:按部门统计平均工资

db.employees.aggregate([
  { $match: { status: "active" } },  // 过滤活跃员工
  { $group: { 
      _id: "$department", 
      avgSalary: { $avg: "$salary" },  // 计算平均工资
      maxSalary: { $max: "$salary" }
  }},
  { $project: { 
      department: "$_id", 
      avgSalary: 1, 
      salaryGap: { $subtract: ["$maxSalary", "$avgSalary"] }  // 计算薪资差距
  }}
]);

注释:

  • $match 减少后续处理文档量
  • $group 的 _id 定义分组键
  • $project 重命名字段并添加计算字段

与 SQL GROUP BY 区别:

特性MongoDB 聚合管道SQL GROUP BY
多阶段处理✅ 支持连续数据转换❌ 单阶段聚合
数组处理✅ 支持 $unwind 展开⚠️ 需依赖数组函数
跨集合关联✅ $lookup 支持✅ JOIN 支持
实时流水线✅ 各阶段独立优化❌ 整体执行计划优化

MongoDB 索引优化技巧

索引类型及创建方法
  1. 单字段索引:
    db.orders.createIndex({ orderDate: 1 })  // 1:升序, -1:降序
    
  2. 复合索引(优先高基数字段):
    db.users.createIndex({ country: 1, age: -1 })  // 多字段查询优化
    
  3. 多键索引(数组字段):
    db.products.createIndex({ tags: 1 })  // 自动为数组每个元素建索引
    
  4. TTL 索引(自动过期数据):
    db.logs.createIndex({ createdAt: 1 }, { expireAfterSeconds: 3600 })
    
索引管理最佳实践
  • 查询计划分析:
    db.orders.find({ status: "shipped", total: { $gt: 100 } }).explain("executionStats")  
    // 检查 winningPlan 是否使用索引 (IXSCAN)
    
  • 覆盖查询:确保查询字段均在索引中
  • 避免索引爆炸:对大型数组字段慎用多键索引
  • 内存优化:WiredTiger 内部缓存索引数据(默认分配 50% RAM - 1GB)

MongoDB vs MySQL 核心区别

维度MongoDBMySQL
数据模型文档模型 (BSON),动态模式关系模型,固定模式
查询语言JSON 式查询 + 聚合管道SQL
事务支持多文档 ACID 事务(4.0+)完整 ACID 事务
扩展性原生分片集群,水平扩展主从复制 + 分库分表
适用场景半结构化数据、高吞吐写入、JSON 处理复杂关联查询、强一致性事务

典型场景对比:

  • JSON 处理:MongoDB 直接存储 BSON,PostgreSQL 需 JSONB 类型转换
  • 地理空间查询:MongoDB 内置 GeoJSON 索引 vs PostgreSQL PostGIS 扩展

WiredTiger 存储引擎 MVCC 原理

WiredTiger 通过多版本并发控制实现高并发:

  1. 写操作:
    • 修改数据时创建新版本(保留旧版本)
    • 写入过程不阻塞读操作
  2. 读操作:
    • 访问事务开始时的数据快照
    • 避免脏读(读取未提交数据)
  3. 事务提交:
    • 检查冲突(乐观锁机制)
    • 更新全局版本号

MVCC 工作流程:

读
写
成功
失败
事务开始
获取当前版本号
读写操作
访问版本快照
创建新数据版本
提交时冲突检测
更新全局版本
回滚

优势:读写分离,避免锁竞争;代价:需定期清理旧版本数据

分片集群查询性能优化策略

分片键设计原则
  1. 基数高(如用户ID)避免数据倾斜
  2. 写分布均匀(如哈希分片键)
  3. 匹配查询模式(如按时间范围查询选择时间戳分片)
$lookup 跨分片查询优化

默认 $lookup 在协调节点执行嵌套循环,效率低。优化方案:

  1. 冗余嵌入关联数据:
    // 将部门信息嵌入员工文档
    db.employees.insert({
      name: "Alice",
      department: { id: 101, name: "Engineering" }  // 避免跨集合查询
    })
    
  2. 同分片键关联:
    // 员工和部门使用相同分片键
    sh.shardCollection("company.employees", { deptId: 1 })
    sh.shardCollection("company.departments", { deptId: 1 })
    // $lookup 可在本地分片执行
    
分片查询路由
  • 定向查询:分片键精确匹配 → 路由到特定分片
  • 广播查询:无分片键条件 → 扫描所有分片(性能最低)

时间序列数据:MongoDB vs PostgreSQL TimescaleDB

MongoDB 分片策略
// 1. 按时间分片(适合范围查询)
sh.shardCollection("sensor.data", { timestamp: 1 })

// 2. 按设备ID哈希分片(均匀分布写入)
sh.shardCollection("sensor.data", { deviceId: "hashed" })

// 3. 混合分片键(时间戳 + 设备ID)
sh.shardCollection("sensor.data", { timestamp: 1, deviceId: 1 })

优势:灵活水平扩展;缺点:跨分片聚合延迟高

TimescaleDB 超表设计
-- 创建超表(自动按时间分区)
CREATE TABLE sensor_data (
  time TIMESTAMPTZ NOT NULL,
  device_id INT,
  value FLOAT
);
SELECT create_hypertable('sensor_data', 'time');

优势:

  • 时间分区自动管理
  • 支持连续聚合(实时物化视图)
  • 列压缩减少存储 80%+
    局限:水平扩展依赖 Citus 扩展

性能对比:

场景MongoDB 分片集群TimescaleDB
高吞吐写入✅ 更高并行度⚠️ 单节点写入瓶颈
复杂时间窗口聚合⚠️ 需跨分片协调✅ 本地分区优化
存储压缩效率⚠️ WiredTiger 块压缩✅ 列存高效压缩

WiredTiger B+树索引优化范围查询

实现机制:

  • 索引数据以 B+ 树存储,叶子节点双向链表链接
  • 范围查询(如 db.users.find({ age: { $gt: 20, $lt: 30 } })):
    1. 定位 B+ 树起始键
    2. 沿叶子节点链表顺序扫描
    3. 避免回溯非叶子节点

对比 LSM 树:

索引类型范围查询性能写入吞吐量读放大
B+ 树✅ 稳定低延迟⚠️ 需页分裂低
LSM 树⚠️ 多层级合并影响✅ 更高高

WiredTiger 对 SSD 优化:缓存友好 + 无锁跳表加速查询

思维导图

在这里插入图片描述

mongodb-8.0.13安装包 mongodb-8.0.13安装包(mongodb-windows-x86_64-8.0.13-signed.msi、mongodb-macos-x86_64-8.0.13.tgz、mongodb-macos-arm64-8.0.13.tgz) 立即下载

相关推荐

适用DBeaver的mongoDB驱动程序

具体使用说明在压缩包里面

(2025版)MongoDB 8.0.13 版本安装与配置(Windows 版)保姆级教程

本文详细介绍MongoDB 8.0.13在Windows 11系统上的完整安装配置流程,包含MSI和ZIP两种安装方式对比。从下载安装、目录配置、环境变量设置到Windows服务安装,提供保姆级操作指南。涵盖配置文件创建、服务管理、连接测试等核心步骤,并附有常见问题解决方案和性能优化建议。

linshu_191的博客 5054

Xilinx FPGA 100G RDMA开发实战:基于AXI Lite配置的ROCE V2高速通信系统搭建

本文详细介绍了在Xilinx FPGA上搭建100G ROCE V2高速通信系统的实战过程。通过分析RDMA技术优势与FPGA实现的必要性,重点阐述了基于AXI Lite接口配置ERNIC IP核的关键步骤,包括硬件系统构建、驱动开发及与商用网卡的互通测试,旨在实现兼具高性能与灵活性的网络加速方案。

js777的博客 576

MongoDB:基础概述

MongoDB 是一个开源的、跨平台的、面向文档的、基于分布式文件存储的数据库系统,MongoDB 是由 C++ 语言开发,旨在为 Web 应用提供可扩展的高性能数据存储解决方案。在高负载的情况下,通过添加更多的节点,可以保证服务器性能。 本篇内容主要包括:MongoDB 概述、MongoDB 的体系结构、关于 BSON

栗筝i的博客 4576

【计算机组成原理】实验4:单周期CPU(Verilog)中海大

【计算机组成原理】实验4:单周期CPU

m0_63023532的博客 3660

dify1.3.1应用服务与数据服务分离,附件及插件包迁移至minio,实现离线部署,保证插件正常运行

dify1.3.1应用服务与数据服务分离,附件及插件包迁移至minio,实现离线部署,保证插件正常运行

Time_1023的博客 1872

科普帖:一起来聊聊开源数据库MongoDB

本教程向你介绍了MongoDB数据库。你将发现如何安装该软件、操作数据,并将数据设计技术应用于你自己的应用程序。

WPHunter的编程技术资料库! 1885

图神经网络实战(6)——使用PyTorch构建图神经网络

图数据集通常比简单的连接集合更加丰富,因为节点和边可以具有表示分数、颜色、单词等特征。包含这些额外信息在输入数据中对于生成最佳嵌入至关重要。在本节中,我们将使用 Cora 和 Facebook Page-Page 数据集,首先将它们视为表格数据集,观察香草神经网络在节点特征上的表现如何。然后,尝试在神经网络中加入拓扑信息,实现图神经网络 (Graph Neural Networks, GNN) 架构:一个同时考虑节点特征和边的简单模型。最后,我们将比较两种架构的性能。

盼小辉丶的博客 2万+

MongoDB史上最详细最详细的安装步骤

Mongo数据库安装步骤详解 第一步: 进入MongoDB官网链接https://www.mongodb.com/download-center#community ,根据自己的电脑配置(是32位还是64位)进行下载点击下载相应的版本,下载完成后打开文件所在目录. 第二步,将下载好的mongo安装包双击运行安装 等待安装.点击next 第三步:继续点击下一步第四步:继续点击下一步 第五步:将默认...

pusa001的博客 1754

手把手教你在openclaw中白嫖英伟达羊毛调用GLM5/Minimax2.1/Kimi K 2.5等模型

本文介绍如何在OpenClaw中免费调用英伟达平台的GLM5、Minimax2.1和Kimi K2.5等模型。通过在openclaw.json配置文件中添加NVIDIA的API信息,设置免费模型参数(如contextWindow和maxTokens),并执行简单命令即可切换默认模型。该方法可节省token消耗成本,最后需重启gateway使配置生效。文中还提供了使用其他API平台时的配置模板。

Science prince的博客 5103

结构力学仿真软件:STAAD.Pro:结构抗震设计与STAAD.Pro应用_2024-08-10_11-49-29.Tex

STAAD.Pro是一款广泛应用于结构工程领域的仿真软件,由Bentley Systems开发。它能够进行结构分析和设计,支持多种结构类型,包括桥梁、建筑物、塔架等。STAAD.Pro提供了强大的建模工具,用户可以轻松创建复杂的结构模型,并进行静态和动态分析。软件还支持多种载荷组合,包括地震载荷,以及提供详细的报告和图纸输出,便于工程师进行设计和审查。STAAD.Pro是一款广泛应用于结构工程设计的软件,其界面直观,功能强大,能够进行结构分析与设计。菜单栏。

976

MongoDB入门

MongoDB:是一个数据库 ,高性能、无模式、文档性,目前nosql中最热门的数据库,开源产品,基于c++开发。是nosql数据库中功能最丰富,最像关系数据库的。特性l 面向集合文档的存储:适合存储Bson(json的扩展)形式的数据;l 格式自由,数据格式不固定,生产环境下修改结构都可以不影响程序运行;l 强大的查询语句,面向对象的查询语言,基本覆盖sql语言所有能力;l 完整的索引支持,支持查询计划;l 支持复制和自动故障转移;

qq_36037795的博客 1287

MIKE水动力笔记8_冷启动与热启动

在【MIKE水动力笔记5_建立水动力模型】中,讲到【Step 2 设置模型参数】中的【Initial Conditions】时,提到了冷启动与热启动。本博文就详细讲解何为冷启动、热启动,并通过一个案例具体分析两者不同。...

晏长街的博客 6568

docker快速启动一个mongodb

这个是我从官方文档里面弄下来的,不知道有没有错误,可以自己去bitnami的官方看看mongodb的环境变量名称描述默认值用于包含自定义配置文件的目录(覆盖默认生成的配置文件)检查服务初始化状态时的最大重试次数7每次重试检查服务初始化状态时的等待时间(秒)5MongoDB 的端口号启用 MongoDB 操作中的多数读取true默认启用 MongoDB 操作中的多数读取(在构建时设置)trueMongoDB 初始化时的额外标志nil(无)使用 numactl 执行命令。

Freesia_2350的博客 1912

8年ES运维经验整理出的Elasticsearch运维手册(超实用)

k1 : 控制非线性词频率归一化(饱和),Elasticsearch中默认值为1.2。用人能看懂的话说就是词语在文档中出现的次数对于得分的重要性。例如说我觉得在某些场景,一个搜索词在文档中出现越多则越接近我希望搜索的内容,就可以将这个参数调大一点。b :控制文档长度对于分数的惩罚力度。变量b处于分母上,它乘以刚刚讨论过的字段长度的比值,Elasticsearch中的b 默认值为0.75。如果b较大,则文档长度相对于平均长度的影响更大。

yonggeit的博客 5274

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

mongodb 库数量限制_mongodb数据库最大连接数

MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它的特点是高性能、易部署、易使用,存储数据非常方便。公司在测试和生产环境使用了MONGODB数据库,日常在使用MONGODB数据库的过程中,遇到了一些问题,比较典型的三个问题现总结分享一下。一、数据库最大连接数问题当你在后台日志中,发现大量“connection refused becaus...

weixin_39840729的博客 1623

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

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

【mongodb】使用API远程连接mongodb时,27017端口连接不上

开发环境:win10 mongodb所在环境:Centos7 mongodb版本:mongodb-linux-x86_64-3.6.12 先看一下连接mongodb的部分代码: public class MongodbUtil { private static MongoClient MONGODB_CLIENT; private static String MONGODB_IP; ...

hlp4207的博客 2996

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

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

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

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

windows10下安装mongodb并且在scrapy中使用Mongodb

准备工作 安装mongodb 安装可视化工具Robo 3T 以上请自行参照百度教程进行 具体步骤 STEP - 0 开启mongodb数据库 请参照网上教程将mongodb数据库开启(开启连接端口???) 开启的时候长这样 开启Robo 3T 它长这样 STEP - 1 这里我们需要在pipelines.py文件进行修改,这里我们要做的是与mongodb数据库建立连接 需要引入两个东...

Morning_0217 博客 590

Java项目用jar包连接MongoDB

Java项目用jar包连接MongoDB 连接MongoDB的方法有很多种,在这里介绍一下Java项目用jar包进行连接,个人觉得比较方便,就用到了一个jar包。Mongodb这种非关系型数据库在一些场合远比SQL方便,命令语句也多种多样,这篇是连接数据库,具体的增删改查会另外写一篇记录,客官请随我来看: jar包版本与MongoDB版本对应关系如下图。 我的网盘里......

qq_42750981的博客 5243

Scrapy实战之存储在MongoDB中

爬取豆瓣电影top250movie.douban.com/top250的电影数据,并保存在MongoDB中。 items.py class DoubanspiderItem(scrapy.Item): # 电影标题 title = scrapy.Field() # 电影评分 score = scrapy.Field() # 电影信息 conte...

lixinkuan的博客 2552

php连接MongoDB用户认证错误

用户名密码正确,但是php连接MongoDB用户认证失败 主要错误信息: authentication failed MONGODB-CR credentials missing in the user documentMongoDB

zz87541368的专栏 6973

MONGODB Wiredtiger 为什么那么快?

如果有人说我精通ORACLE ,MYSQL ,那我信,但如果有人说特别精通MONGODB 的原理以及源代码,那就真的佩服了。这方面的书比较少,所以说精通MONGODB 的原理,那真是比较...

sql server的专栏 2069

DBeaver怎么链接mongoDB

DBeaver 默认直接添加MongoDB的时候 是不能添加的,因为没有mongodb驱动。所以我们需要先手动创建一个mongoDB的驱动。选择你刚刚创建的驱动即可。

lh87270202的博客 723

MongoDB 数组在mongodb 中存在的意义

在MOGNODB 的文档设计和存储中,存在两个部分 1 嵌套 2 数组,所以如果想设计好一个MONGODB 在理解业务,读写比例,查询方式后,就需要介入到更深层次的理解嵌套的查询方式,...

sql server的专栏 1267

mongoDB练习强化

关于使用MongoDB的强化练习 涉及一般查询,基本正则表达式,列表

侯小啾技术博客 1480

MongoDB初探

今天在项目中遇到需要使用MongoDB的地方, 由于之前自己使用的是Redis,,没有使用过mongo,,当时心里也是一阵凉凉 好在现如今网上资源多, 能学习到很多知识..现将今天使用的情况作个记录,,以便以后使用. 我是用的官网最新版的3.9.1的驱动版本,,. <dependency> <groupId>o...

weixin_30294709的博客 190
上一篇: SQL Server
下一篇: Tomcat
HuiSoul200
博客等级 码龄8年 274粉丝 82原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值