欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 新车 > Windows安装MongoDb.并使用.NET 9连接

Windows安装MongoDb.并使用.NET 9连接

2025/5/22 6:55:20 来源:https://blog.csdn.net/zhaoxingyu999/article/details/148105464  浏览:    关键词:Windows安装MongoDb.并使用.NET 9连接

以下是在 Windows 系统上安装 MongoDB 的详细步骤


方法一:通过安装向导

  1. 下载安装包

    • 访问官网下载页:https://www.mongodb.com/try/download/community
    • 选择版本:
      • Version:推荐最新稳定版(如 8.09)。
      • Platform:选择 Windows
      • Package:选择 MSI 格式。
    • 点击下载(DownLoad)。
      mongodb安装图
  2. 运行安装向导

    • 双击下载的 .msi 文件。
    • 按提示操作,可自定义以下选项:
      • 安装路径:默认是 C:\Program Files\MongoDB\Server\<版本>\
      • 安装组件:勾选 Install MongoDB as a Service(推荐以服务方式安装)。
      • 数据目录:默认是 C:\data\db(需手动创建目录或修改路径)。
  3. 配置环境变量(可选)

    • 将 MongoDB 的 bin 目录(如 C:\Program Files\MongoDB\Server\7.0\bin)添加到系统环境变量 PATH 中,方便命令行调用。
  4. 验证安装

    • 打开命令提示符(CMD),输入:
      mongod --version
      mongo --version
      
      若显示版本信息,则安装成功。

建议避免使用包含空格的路径,如"Program Files",这可能导致程序运行异常。


方法二:通过压缩包(灵活安装)

  1. 下载 ZIP 包

    • 在官网下载页选择 ZIP 格式包(如 mongodb-windows-x86_64-7.0.zip)。
  2. 解压并配置

    • 将 ZIP 解压到目标目录(如 D:\mongodb\)。
    • 创建数据存储目录(如 D:\mongodb\data\db)。
  3. 启动 MongoDB

    • 打开 CMD,切换到 MongoDB 的 bin 目录:
      cd D:\mongodb\bin
      
    • 启动服务(指定数据目录):
      mongod --dbpath D:\mongodb\data\db
      
    • 保持窗口运行,服务默认监听 27017 端口。
  4. 连接测试

    • 新开一个 CMD 窗口,运行:
      mongo
      
      进入 MongoDB Shell 即表示成功。

配置为系统服务(开机自启)

  1. 在 MongoDB 的 bin 目录下创建配置文件 mongod.cfg(内容如下):
    systemLog:destination: filepath: D:\mongodb\log\mongod.loglogAppend: true
    storage:dbPath: D:\mongodb\data\db
    net:port: 27017bindIp: 127.0.0.1
    
  2. 以管理员身份运行 CMD,执行:
    mongod --config "D:\mongodb\bin\mongod.cfg" --install
    
  3. 启动服务:
    net start MongoDB
    

在这里插入图片描述

常见问题

  1. 端口冲突

    • 确保 27017 端口未被占用,或通过 --port 指定其他端口。
  2. 权限问题

    • 以管理员身份运行 CMD,或为数据目录赋予写入权限。
  3. 连接失败

    • 检查服务是否启动:net start MongoDB
  4. 权限不足

    • services Mongodb Server failed to start verify that you have sufficient privileges to start system services
    • 右键 命令提示符(CMD) 或 PowerShell,选择 “以管理员身份运行”。
      以下是排版优化后的 Markdown 内容,结构更清晰且符合技术文档规范:
  5. 无法启动
    问题描述
    Windows 无法启动 MongoDB 服务,报错 1053
    服务没有及时响应启动或控制请求

原因分析
权限不足、服务配置错误或启动超时可能导致此问题。

解决方案

方法 1:重新安装 MongoDB 服务

步骤

  1. 以管理员身份运行 CMD,执行以下命令(替换实际路径):

    mongod --remove
    mongod --install --dbpath="C:\data\db" --logpath="C:\data\log\mongod.log" --serviceName="MongoDB"
    
    • --dbpath:数据存储目录(需提前创建,如 C:\data\db
    • --logpath:日志文件路径(需确保目录存在且有写入权限)
    • --serviceName:服务名称(默认 MongoDB
  2. 启动服务:

    net start MongoDB
    

方法 2:调整服务启动超时时间

步骤

  1. 打开注册表编辑器(regedit),导航至:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control
    
  2. 新建 DWORD (32-bit),命名为 ServicesPipeTimeout,值设为 60000(单位:毫秒,即 60 秒)。
  3. 重启计算机后重试启动服务。

方法 3:检查权限配置

关键操作

  • 目录权限

    1. 右键 C:\data\dbC:\data\log,选择 属性 > 安全
    2. 添加用户 NETWORK SERVICELocal System,赋予 完全控制权限
  • 服务账户权限

    1. 打开 services.msc,找到 MongoDB 服务。
    2. 右键 属性 > 登录,切换为本地系统账户或管理员账户。

方法 4:检查日志与数据完整性

步骤

  1. 查看日志定位错误:
    type C:\data\log\mongod.log
    
    • 常见错误
      • 数据目录损坏:删除 mongod.lock 或修复数据库(需备份)。
      • 端口占用:更换端口启动:
        mongod --port 27018 --dbpath="C:\data\db"
        

方法 5:彻底重装服务

步骤

  1. 卸载现有服务:
    mongod --remove
    sc delete MongoDB
    
  2. 清理残留文件(如旧配置或数据目录)。
  3. 通过配置文件重新安装(推荐):
    • 配置文件示例(保存为 mongod.cfg):
      systemLog:destination: filepath: C:\data\log\mongod.log
      storage:dbPath: C:\data\db
      net:bindIp: 127.0.0.1port: 27017
      
    • 安装命令:
      mongod --config "C:\path\to\mongod.cfg" --install
      

测试连接
在这里插入图片描述


以下是.NET 9使用MongoDB:

MongoDB.Entities 是一个简洁高效的 .NET 库,为 MongoDB 提供了类似 ORM 的体验。以下是详细使用指南:

1. 安装MongoDB驱动

首先,通过NuGet安装MongoDB.Entities包:

dotnet add package MongoDB.Entities

在这里插入图片描述

2.基本连接操作

using MongoDB.Entities;
// 初始化数据库连接
await DB.InitAsync("test");

在这里插入图片描述

3.定义实体Book 类

public class Book : Entity
{public string Title { get; set; }public int Price { get; set; }public Author Author { get; set; }public List<string> Tags { get; set; }public DateTime PublishedOn { get; set; }
}public class Author
{public string FirstName { get; set; }public string LastName { get; set; }
}
var book = new Book
{Title = "MongoDB指南",Price = 99,Author = new Author { FirstName = "张", LastName = "三" },Tags = new List<string> { "数据库", "NoSQL" },PublishedOn = DateTime.UtcNow
};

4.CRUD 操作

创建(Create)

// 保存单个文档
await book.SaveAsync();var book1 = new Book
{Title = "JAVA入门",Price = 56,Author = new Author { FirstName = "李", LastName = "四" },Tags = new List<string> { "编程开发", "JAVA" },PublishedOn = DateTime.UtcNow
};
var book2 = new Book
{Title = ".NET 9",Price = 199,Author = new Author { FirstName = "王", LastName = "五" },Tags = new List<string> { "编程开发", ".NET" },PublishedOn = DateTime.UtcNow
};
var book3 = new Book
{Title = "计算机网络",Price = 399,Author = new Author { FirstName = "吴", LastName = "七" },Tags = new List<string> { "编程开发", "计算机网络" },PublishedOn = DateTime.UtcNow
};// 批量插入
var books = new[] { book1, book2, book3 };
await books.SaveAsync();

读取(Read)

// 按ID查找
var bookId = await DB.Find<Book>().OneAsync("5f8c9d3e6c1d4e2b3c8d9e0f");// 条件查询
var expensiveBooks = await DB.Find<Book>().Match(b => b.Price > 50).Sort(b => b.Price, Order.Descending).Limit(10).ExecuteAsync();

更新(Update)

// 更新整个文档
await DB.Update<Book>().MatchID("5f8c9d3e6c1d4e2b3c8d9e0f").ModifyWith(book).ExecuteAsync();// 部分更新
await DB.Update<Book>().Match(b => b.Price < 50).Modify(b => b.Price, 60).Modify(b => b.Title, "特价书").ExecuteAsync();// 递增操作
await DB.Update<Book>().MatchID("5f8c9d3e6c1d4e2b3c8d9e0f").Modify(b => b.Price, +10).ExecuteAsync();

删除(Delete)

// 按ID删除
await DB.DeleteAsync<Book>("5f8c9d3e6c1d4e2b3c8d9e0f");// 条件删除
await DB.DeleteAsync<Book>(b => b.Price < 30);

在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词