C#连接mongoDB以及增删改查(根据时间区间查询数据)

一、下载驱动

MongoDB.Driver;MongoDB.Bson;两个驱动

二、连接数据库

string conn = "mongodb://localhost";
string database = "personName";
string collection = "Student";
MongoServer mongodb = MongoServer.Create(conn); // 连接数据库
MongoDatabase mongoDataBase = mongodb.GetDatabase(database); // 选择数据库名
MongoCollection mongoCollection = mongoDataBase.GetCollection(collection); // 选择集合,相当于表
mongodb.Connect();

三、新建实体类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MongoDB.Bson;
namespace CodeFactory.mongo
{
    class PersonEntity
    {
        public ObjectId _id { get; set; }
        public string name { get; set; }
        public int age { get; set; }  
    }
}

四、插入数据

PersonEntity he = new PersonEntity();
he.name = "Jack";
he.age = 19;
mongoCollection.Insert(he);

五、条件查询

string msg = string.Empty;
// 单条件查询全部数据
MongoCursor<PersonEntity> mc = mongoCollection.FindAllAs<PersonEntity>();
foreach (PersonEntity person in mc)
{
   msg += "_id:" + person._id.ToString() + " name:" + person.name.ToString() + " age:" + person.age.ToString() + "\n";
}

//单条件查找返回一条数据
var msg1 = "";
QueryDocument query1 = new QueryDocument("name", "linda");
PersonEntity mc1 = mongoCollection.FindOneAs<PersonEntity>(query1);
msg1 = mc1.name + "&" + mc1.age;

var msg2 = "";
// 多条件查询
QueryDocument query2 = new QueryDocument
{
    {"name", "Nancy"},
    {"age", 30}
}; 
mc = mongoCollection.FindAs<PersonEntity>(query2);
foreach (PersonEntity person in mc)
{
    msg2 += "_id:" + person._id.ToString() + " name:" + person.name.ToString() + " age:" + person.age.ToString() + "\n";
}

六、根据条件更新数据

// 根据条件更新一个值
var update = new UpdateDocument {
    { "$set", new BsonDocument("age", 30) }
};
mongoCollection.Update(query2, update);//query为五中的查询条件

// 根据条件更新多个值
var update1 = new UpdateDocument {
     { "$set", new BsonDocument{
           {"name", "jack7"},
           {"age", 31}
      } }
};
mongoCollection.Update(query2, update1);

七、根据时间区间查询数据

// 条件查询数据
QueryDocument query = new QueryDocument();
BsonDocument b = new BsonDocument();
b.Add("$gt", Convert.ToDateTime(startTime.ToString()).ToString("u"));
b.Add("$lt", Convert.ToDateTime(endTime.ToString()).ToString("u"));
query.Add("times", b);
MongoCursor<HisData> mc = mongoCollection.FindAs<HisData>(query);
int i = 0;
foreach (HisData data in mc)
   {
        //data
   }




  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
MongoDB中,要查询一个时间区间数据,可以使用$gt、$gte、$lt、$lte这些操作符进行比较。例如,要查询大于某个时间数据,可以使用{"createTime":{"$gt":"2015-5-21 0:0:0"}}。而要查询小于某个时间数据,可以使用{"createTime":{"$lt":"2014-5-21 0:0:0"}}。如果要查询某个时间段内的数据,可以使用$and操作符,并将两个条件放在一个数组中,例如{"$and":[{"createTime":{"$gt":"2015-5-21 0:0:0"}},{"createTime":{"$lt":"2015-5-22 0:0:0"}}]}。这样就可以查询到在指定时间范围内的数据了。 [3<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Mongodb 查询指定时间范围的数据](https://blog.csdn.net/u011368551/article/details/81219820)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [C#连接mongoDB以及增删改查(根据时间区间查询数据)](https://blog.csdn.net/Changeable0127/article/details/81013846)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值