using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using MongoDB.Driver;
using MongoDB.Bson;
namespace mangodb
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void btn_import_Click(object sender, EventArgs e)
{
//MongoDB服务器连接串
string connectionString = "mongodb://localhost:27017";
MongoServer server = MongoServer.Create(connectionString);
//连接到 mongodb_c_demo 数据库
MongoDatabase db = server.GetDatabase("mongodb_c_demo");
//获取集合 fruit
MongoCollection collection = db.GetCollection("websiteUrl");
inserData(collection);
//查询所有
//collection.FindAllAs(Type.get);
//MongoCursor cur = collection.FindAllAs(Type.d
//while(cur. ()) {
// System.out.println(cur.next());
//}
//以上代码完成的就是向fruit表中插入2条数据,用mysql的语法解释即
//insert into mongodb_c_demo.fruit (name, color)
//values ('apple', 'red'), ('banana', 'yellow');
}
private void btn_sel_Click(object sender, EventArgs e)
{
//MongoDB服务器连接串
string connectionString = "mongodb://localhost:27017";
MongoServer server = MongoServer.Create(connectionString);
//连接到 mongodb_c_demo 数据库
MongoDatabase db = server.GetDatabase("mongodb_c_demo");
//获取集合 fruit
MongoCollection collection = db.GetCollection("websiteUrl");
selectAll(collection);
}
private void btn_del_Click(object sender, EventArgs e)
{
//MongoDB服务器连接串
string connectionString = "mongodb://localhost:27017";
MongoServer server = MongoServer.Create(connectionString);
//连接到 mongodb_c_demo 数据库
MongoDatabase db = server.GetDatabase("mongodb_c_demo");
//获取集合 fruit
MongoCollection collection = db.GetCollection("websiteUrl");
delData(collection);
}
private void btn_update_Click(object sender, EventArgs e)
{
//MongoDB服务器连接串
string connectionString = "mongodb://localhost:27017";
MongoServer server = MongoServer.Create(connectionString);
//连接到 mongodb_c_demo 数据库
MongoDatabase db = server.GetDatabase("mongodb_c_demo");
//获取集合 fruit
MongoCollection collection = db.GetCollection("websiteUrl");
update(collection);
}
private void btn_docToDatabase_Click(object sender, EventArgs e)
{
}
/// <summary>
/// 插入数据
/// </summary>
/// <param name="collection"></param>
private void inserData(MongoCollection collection)
{
//创建对象 fruit_1
BsonDocument fruit_1 = new BsonDocument
{
{ "_id", 10001 },
{ "website", "http://www.my400800.cn
" },
{ "name", "400电话" },
{ "count", 10 },
{ "time", DateTime.Now }
};
//创建对象 fruit_2
BsonDocument fruit_2 = new BsonDocument
{
{ "_id", 10002 },
{ "website", "http://www.hrxc.net
" },
{ "name", "华仁信诚" },
{ "count", 20 },
{ "time", DateTime.Now }
};
//将对象 fruit_1 放到集合 fruit 中
collection.Insert(fruit_1);
//将对象 fruit_2 放到集合 fruit 中
collection.Insert(fruit_2);
}
/// <summary>
/// 数据检索
/// </summary>
/// <param name="coll"></param>
private void selectAll(MongoCollection coll)
{
News firstNews = coll.FindOneAs<News>();
//查找第一个文档
QueryDocument query = new QueryDocument();
//定义查询文档
query.Add("_id", 10001);
query.Add("count", 10);
MongoCursor<News> qNews = coll.FindAs<News>(query);
foreach (News oneRecGouRu in qNews)
{
Console.WriteLine(oneRecGouRu.name.ToString()+"\r\n");
}
BsonDocument bd = new BsonDocument();
//定义查询文档 count>2 and count<=4
bd.Add("$gt", 2);
bd.Add("$lte", 10);
QueryDocument query_a = new QueryDocument();
query_a.Add("count", bd);
FieldsDocument fd = new FieldsDocument();
fd.Add("_id", 0);
fd.Add("count", 1);
fd.Add("time", 1);
MongoCursor<News> mNewss = coll.FindAs<News>(query_a).SetFields(fd);
//只返回count和time
var time = BsonDateTime.Create(Convert.ToDateTime("2011/09/05 23:26:00"));
BsonDocument db_t = new BsonDocument();
db_t.Add("$gt", time);
QueryDocument qd_3 = new QueryDocument();
qd_3.Add("time", db_t);
MongoCursor<News> mNkews = coll.FindAs<News>(qd_3);
}
/// <summary>
/// 删除数据
/// </summary>
/// <param name="coll"></param>
private void delData(MongoCollection coll)
{
QueryDocument query_a = new QueryDocument();
query_a.Add("count", 10);
coll.Remove(query_a);
}
private void update(MongoCollection coll)
{
News customer = new News();
customer.name = "呼叫中心";
customer.website = "http://www.hrxc.net";
customer.time = DateTime.Now;
//查找第一个文档
QueryDocument query = new QueryDocument();
IList<BsonElement> elements = new List<BsonElement>();
//定义查询文档
query.Add("_id", 10001);
query.Add("count", 10);
BsonDocument doc = BsonExtensionMethods.ToBsonDocument(customer);
foreach (var item in doc.Elements) {
if (item.Value.IsBsonNull || item.Name=="_id")
{
elements.Add(item);
}
}
foreach (var el in elements) {
doc.RemoveElement(el);
}
var update = new UpdateDocument(doc);
coll.Update(query, update);
//coll.Update(customer,(xw=>xw.name==''));
//coll.Update(customer, (x => x. == customer.CustomerID));
//coll.Update(null,IMongoUpdate.
}
}
public class News
{
public int _id { get; set; }
public string website { get; set; }
public string name { get; set; }
public int count { get; set; }
public DateTime time { get; set; }
}
}
分享到:
相关推荐
本教程将详细介绍如何使用C#访问MongoDB,实现基本的增删改查操作。 首先,我们需要在C#项目中引入MongoDB的驱动程序。MongoDB官方提供了`MongoDB.Driver`库,可以通过NuGet包管理器安装。在Visual Studio中,右键...
首先,我们需要引入MongoDB的C#驱动程序,它提供了与MongoDB数据库进行通信的类和方法。在NuGet包管理器中,可以搜索并安装`MongoDB.Driver`库,这样就能在C#项目中使用MongoDB相关的API。 在C#中,我们通常通过`...
本示例将介绍如何使用C#来访问和操作MongoDB数据库。 首先,为了在C#中使用MongoDB,我们需要引入一个库——MongoDB.Driver。这个库提供了与MongoDB服务器通信的所有必需组件。安装方法通常是通过NuGet包管理器,...
在C#编程环境中,我们可以利用MongoDB的.NET驱动程序来执行常见的数据库操作,如增、删、改、查(CRUD操作)。下面我们将详细介绍如何在C#中与MongoDB进行交互。 1. **安装MongoDB驱动** 在开始之前,你需要确保...
本文将详细介绍如何在C#环境中连接和操作MongoDB数据库。 首先,你需要从MongoDB的官方网站(https://www.mongodb.com/download-center#community)下载社区版的安装包。安装过程中,可以选择自定义路径,但要注意...
本文将深入探讨如何在C# ASP.NET项目中进行MongoDB的基本操作,包括连接数据库、增删改查(CRUD)等关键功能。 首先,我们需要引入MongoDB的C#驱动程序。可以通过NuGet包管理器安装`MongoDB.Driver`库。在Visual ...
在本文中,我们将探讨如何使用C#与MongoDB进行基本的数据操作,包括增、删、改、查。MongoDB是一种流行的NoSQL数据库,以其灵活性、高性能和易于使用而受到开发者欢迎。C#驱动程序使得在.NET环境中与MongoDB交互变得...
3. **MongoDatabase**:这个类代表MongoDB中的一个数据库,通过MongoClient可以获取到MongoDatabase实例,然后就可以对数据库进行增删改查等操作。 4. **MongoCollection**:MongoCollection代表数据库中的一个集合...
### MongoDB数据库简单介绍 #### MongoDB概述 MongoDB是一款开源、基于分布式文件存储的NoSQL数据库系统,它使用C++语言编写。与传统的关系型数据库不同,MongoDB采用文档数据模型来存储数据,这种数据模型非常灵活...
本案例主要探讨了如何使用C#进行MongoDB的底层连接以及执行基本的数据操作,包括增、删、改、查和批量操作。 首先,我们需要引入MongoDB的C#驱动程序。在NuGet包管理器中,可以搜索`MongoDB.Driver`并安装,这样就...
引用MongoDB.Driver,MongoDB.Bson,链接MongoDB数据库,操作增删改查和索引操作
C# 驱动是 MongoDB 提供的一种客户端库,允许 .NET 开发者与 MongoDB 数据库进行交互。标题提到的是 MongoDB 的 C# 驱动的最新版本——mongodb.driver.dll,具体为 2.12.0-beta1 版本。 MongoDB.Driver.dll 是 C# ...
MongoDB是一种流行的开源、分布式文档数据库,以其灵活性、高性能和可扩展性而受到广大开发者喜爱。...通过实际项目练习和理论知识的结合,你将能够自信地在C#应用程序中部署和管理MongoDB数据库。
.net平台(C#)MongoDB最新版操作类 MongoDB操作类源码包括添加、修改、删除和查询(包括分页)等同步及异步操作类完整的代码。 本项目是以最新版的MVC结合MongoDB呈现,对MongoDB有兴趣的朋友很有参考价值。 可以...
在2.2.4版本中,这个驱动提供了对GridFS操作的支持,使得开发者能够轻松地在C#代码中实现对MongoDB数据库中的GridFS的增删改查操作。 在提供的代码示例中,`Program.cs`类展示了如何使用`GridFSHelper`类来操作...
在C#中操作集合,可以进行文档的增删改查。例如,插入一个文档: ```csharp var document = BsonDocument.Parse("{ name: \"John\", age: 30 }"); collection.InsertOne(document); ``` 查询文档,可以使用`Find`...
本资源包含了一些示例代码,旨在帮助理解如何使用C#进行MongoDB的基本操作,包括增、删、改、查。 首先,我们需要了解MongoDB .NET驱动程序。MongoDB官方提供了一个全面的C#驱动程序,可以在NuGet包管理器中通过...
作为NoSQL数据库的一种,MongoDB不采用传统的表格和列式数据模型,而是使用键值对、文档、集合和数据库的结构来存储数据,这使得它在处理JSON、XML等半结构化和非结构化数据时表现出色。 MongoDB的主要特点包括: ...
总的来说,这个C# MongoDB帮助类源码提供了一种简洁的方式来处理MongoDB数据库操作,同时包含了一个有价值的性能测试,对于理解和优化MongoDB在C#环境中的分页策略非常有帮助。通过深入学习和实践,你可以更好地掌握...
本教程将详细介绍如何使用C#实现MongoDB的基本操作:增、删、改、查。 首先,让我们从“增”开始。在MongoDB中,增加数据通常涉及到向集合(类似SQL中的表)中插入文档(JSON格式的数据)。在C#中,我们可以使用`...