最近一个项目,数据库既然用的mongodb。之前没接触啊,怎么办,那就重新学呗。挺好玩的
稍微介绍一,呵呵。Mongodb是一个基于分布式文件存储的数据库。有C++语言编写。旨在web应用提供可 扩展的高性能的数据存储解决方案。
MongoDB是一个高性能,开源,无模式的文档型数据库,是当前NoSql数据库中比较热门的一种。
MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
传统的关系数据库一般由数据库(database)、表(table)、记录(record)三个层次概念组成,MongoDB是由数据库(database)、集合(collection)、文档对象(document)三个层次组成。MongoDB对于关系型数据库里的表,但是集合中没有列、行和关系概念,这体现了模式自由的特点。
不扯淡了,直接进入主题。
介绍一下mongodb 数据的 安装过程
1.
把mongodb安装成window服务
每次运行mongod –dbpath D:/MongoDB/data命令行来启动MongoDB实在是不方便,把它作为Windows服务,这样就方便多了。命令如下:
D:\MongoDB\bin>mongod --logpath D:\MongoDB\logs\MongoDB.log --logappend --dbpath D:\MongoDB\data --directoryperdb --serviceName MongoDB --install
注意:
1:log一定要指定一个xxx.log文件(文件不存在也要这么写,会自动创建,写成这样是不可以的–logpath d:\mongodb\logs);
2:logs文件夹和data文件夹要先新建好;serviceName的N字母要大写。
该命令行指定了日志文件:D:\MongoDB\logs\MongoDB.log,日志是以追加的方式输出的;
数据文件目录:D:\MongoDB\data,并且参数–directoryperdb说明每个DB都会新建一个目录;
Windows服务的名称:MongoDB;
以上的三个参数都是可以根据自己的情况而定的。
最后是安装参数:–install,与之相对的是–remove
启动MongoDB:net start MongoDB
停止MongoDB:net stop MongoDB
(一)数据可的链接。
在web.config链接
<connectionStrings> <add name="DefaultConnection" providerName="System.Data.SqlClient" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-iDream.Web-20131021202431;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnet-iDream.Web-20131021202431.mdf" /> </connectionStrings>
(二)在C#中使用官方的驱动来操作mongodb数据库
(1)在nuget 中找到official mongodb C# driver 并下载,安装
完成之后再引用中会看到 mongodb.Driver.dll(驱动程序)和mongodb.Bson(序列化,Json相关)的两dll
驱动安装完成,接下来进行数据库的链接
(2)链接数据库,代码如下
MongoServer _server; MongoDatabase _database; MongoCollection<BaseDetails> _contacts; public BaseDetailsRepository() : this("") { } public BaseDetailsRepository(string connection) { if (string.IsNullOrWhiteSpace(connection)) { connection = "mongodb://localhost:27017"; } _server = MongoServer.Create(connection); _database = _server.GetDatabase("iD_BaseDetails", SafeMode.True);//数据库的名称 _contacts = _database.GetCollection<BaseDetails>("iD_BaseDetails");//要链接的集合 }
顺便把模型一起贴出来吧
using MongoDB.Bson.Serialization.Attributes; [BsonId] public string DId { set; get; } public string BId { set; get; } public string Que01 { set; get; } public string Que02 { set; get; } public string Que03 { set; get; }
这样的话链接数据库也就完成了,接下来进行增删改了
(三)添加数据
public BaseDetails AddBaseDetail(BaseDetails item) { item.DId = ObjectId.GenerateNewId().ToString(); //item.PubDt = DateTime.UtcNow; _contacts.Insert(item); return item; }
调用AddBaseDetail方法
[HttpPost] public ActionResult Detail(BaseDetails item, string Id) { BaseDetailsRepository bd = new BaseDetailsRepository(); bd.AddBaseDetail(item); return RedirectToAction("Success"); }
(四)修改数据
先把要修改的那条记录的ID找出了,在根据iD找出这条记录,再去修改这条记录里的某一个字段
(1)根据iD找出这个记录
public BaseReg GetData(string id) { IMongoQuery imq = Query.EQ("_id", id); return _contacts.Find(imq).FirstOrDefault(); }
修改这条记录
[HttpPost] public ActionResult TJBeiZhu(string Id,BaseReg brg) { try { BaseReg br = new BaseReg(); BaseRepostory brt=new BaseRepostory();初始化 BaseReg model = brt.GetData(Id);//找出这条数据 br.Id = model.Id; br.BId = model.BId; br.RName = model.RName; br.Nickname = model.Nickname; br.Local = model.Local; br.Phone = model.Local; br.Weixin = model.Weixin; br.WeiBo = model.WeiBo; br.Qq = model.Qq; br.Email = model.Email; br.Project = model.Project; br.PubDt = model.PubDt; br.Beizhu =brg.Beizhu; brt.AddBeiZhu(br);//修改 return RedirectToAction("index", "Admin"); } catch (Exception ex) { throw ex; } }
更新这条记录
public BaseReg AddBeiZhu(BaseReg model) { //定义“Id”的值为model.Id的查询条件 // var query = new QueryDocument { { "Id", model.Id } }; IMongoQuery query = Query.EQ("_id", model.Id); //定义更新文档 var update = new UpdateDocument { { "$set", new QueryDocument { { "Beizhu", model.Beizhu } } } }; //执行更新操作 _contacts.Update(query, update); return model; }
(五)删除
(1) 找出这条数据的ID,在进行删除
public BaseReg GetData(string id) { IMongoQuery imq = Query.EQ("_id", id); return _contacts.Find(imq).FirstOrDefault(); }
(2)删除
[HttpPost] public ActionResult DelBase(string Id) { try { BaseRepostory brt = new BaseRepostory(); BaseReg model = brt.GetData(Id); brt.DelData(model); return RedirectToAction("index", "Admin"); } catch (Exception ex) { throw ex; } }
public BaseReg DelData(BaseReg model) { IMongoQuery imq = Query.EQ("_id", model.Id); _contacts.Remove(imq); return model; }
OK了。
相关推荐
在“C# to MongoDB 增删改通用demo”中,我们主要会探讨以下几个关键知识点: 1. **MongoDB 安装与配置**:首先,你需要在本地或服务器上安装 MongoDB,下载并运行适合你操作系统的二进制包。配置数据存储目录,...
本篇文章将深入探讨如何使用C#和WinForm来实现MongoDB的增删改操作。 首先,我们需要在C#项目中引入MongoDB的驱动程序。MongoDB官方提供了`MongoDB.Driver`库,可以方便地与MongoDB进行通信。通过NuGet包管理器安装...
pymongo连接mongodb数据库以及增删改差相关操作
在本案例"MongoDB增删改查操作案例-用户信息增删改查.zip"中,我们将探讨如何使用MongoDB进行基本的数据操作,包括添加(Add)、删除(Delete)、修改(Update)和查询(Query)用户信息。 1. 添加操作(Add): 在...
网站大量图片存储需要用到Mongodb,本代码中以图片上传、图片更新、图片删除为例子,展示了以GridFS方式对文件进行存取。
在本教程中,我们将深入探讨如何使用JavaScript Shell进行MongoDB的增删查改(CRUD)操作。 ### 插入(Insert) 插入操作是向MongoDB集合中添加新文档的过程。这里有两种基本的插入方式: 1. **单条插入**:例如...
在这个学习资料中,我们将深入了解MongoDB的基本概念、下载安装过程、实际使用方法以及如何通过代码进行连接和执行基本的增删改查操作。 1. MongoDB介绍: MongoDB是一个NoSQL数据库,它不使用传统的表格和列结构来...
总之,"c#vs2008实现的mongo查询增删改源代码"是一个关于如何在C# 2008中使用MongoDB .NET驱动进行数据库操作的例子。这个项目提供了宝贵的实践经验和学习资源,对于想在.NET平台上使用MongoDB的开发者来说极具价值...
本篇将详细介绍如何利用Java实现MongoDB数据库的增、删、改、查(CRUD)操作。 1. **连接MongoDB** 要使用Java连接MongoDB,首先需要引入MongoDB Java驱动程序的依赖。在Maven项目中,可以在pom.xml文件中添加以下...
本课程“10天掌握MongoDB”旨在帮助学习者快速上手MongoDB的基本操作,包括增删改查等核心功能。 在MongoDB中,添加文档(Insert)是非常直观的。当向集合中插入文档时,系统会检查是否指定了唯一的标识符`_id`。...
基于node.js、vue、mongodb等技术构建的web系统,界面美观,功能齐全,适合用作毕业设计、课程设计作业等,项目均经过测试,可快速部署运行! 基于node.js、vue、mongodb等技术构建的web系统,界面美观,功能齐全,...
"ajax增删改操作"这个主题就是关于如何利用AJAX技术实现数据库中的添加(Add)、删除(Delete)和修改(Modify)功能。 首先,我们需要理解AJAX的基本结构。一个基本的AJAX请求通常包含以下几个部分: 1. 创建...
运用到的MongoDB支持的C#驱动,当前版本为1.6.0 下载地址:https://github.com/mongodb/mongo-csharp-driver/downloads 1,连接数据库 代码如下: /// /// 数据库连接 /// private const string conn = ...
标题中的“nodejs操作mongodb,插查删改”指的是使用Node.js这门JavaScript后端运行环境来与MongoDB数据库进行交互,实现数据的增、删、查、改四大基本操作。MongoDB是一种流行的NoSQL数据库,它以JSON格式存储数据...
// 其他增删改的方法... } ``` 最后,关于Gson库的使用。Gson是Google提供的Java对象和JSON数据之间的相互转换库,我们常常在SpringBoot应用中用于将Java对象序列化为JSON响应,或者将JSON请求反序列化为Java对象...
4. **第104节:MongoDB增删改操作一.avi** 学员将学习到如何在MongoDB中进行数据的插入、更新和删除操作,包括单个文档的操作以及批量操作的方法。 5. **第105节:MongoDB增删改操作二.avi** 在这一讲中,...
本文将深入探讨如何利用ThinkPHP(简称TP)框架与MongoDB数据库来构建一个简单的留言板系统,涵盖MongoDB的数据增删改操作。MongoDB作为一款非关系型数据库,以其强大的文档型数据存储能力及高扩展性,成为了现代Web...
在你的`mongo-test`目录下,你可以创建一个简单的测试应用,模拟数据的增删改操作,以验证Change Stream的监听效果。 总结:通过上述步骤,我们已经成功地在Spring Boot应用中整合了MongoDB的Change Stream功能。这...
4. **Spring Data**:虽然描述中提到“缺乏增删改”,但通常在 Spring Boot 应用中,我们会使用 Spring Data 来简化数据访问层的开发。Spring Data 提供了一种统一的方式来访问各种数据存储,包括 JPA、MongoDB 等。...
7. **02-初识增删改.pptx**可能涉及: - 插入数据:`db.collection.insertOne()`或`db.collection.insertMany()`插入单个或多个文档。 - 更新数据:`db.collection.updateOne()`或`db.collection.updateMany()`...