gpt4 book ai didi

c# - MongoDB 中的运算符使用官方 .NET 驱动程序执行多过滤器查询

转载 作者:太空宇宙 更新时间:2023-11-03 18:53:53 25 4
gpt4 key购买 nike

我正在使用 MongoDB 3.2,我想使用官方 .NET 从 C# 进行查询 driver (2.6)

使用Robomongo进行搜索,正确的查询是:

db.getCollection('collection1').find({ $and: [ { type: "ws128" }, { tsend: { $gte: ISODate("2018-05-11T14:39:33.000Z"), $lt: ISODate("2018-05-11T14:39:40.000Z") } }  ] })

我想找到所有具有键 type = ws128 并且变量 tsend 在查询中显示的两个日期之间 的文档。 p>

在 C# 中,我定义了如下所示的过滤器,但我不知道如何进行查询:

DateTime datetimestart =  new DateTime(2018, 5, 11, 14, 39, 33);
DateTime datetimeend = new DateTime(2018, 5, 11, 14, 39, 40);
var filter1 = Builders<BsonDocument>.Filter.Eq("type", "ws128");
var filter2 = Builders<BsonDocument>.Filter.Gte("tsend", datetimeend);
var filter3 = Builders<BsonDocument>.Filter.Lt("tsend", datetimestart);

使用单个过滤器,搜索执行没有问题,如下所示,但我不知道如何包含 3 个过滤器。

var cursor = collection.Find(filter1).ToCursor();

有人可以指导我继续吗?谢谢你!问候,

最佳答案

你可以简单地做:

collection.Find(filter1 & filter2 & filter3)

或者:

collection.Find(Builders<BsonDocument>.Filter.And(filter1, filter2, filter3))

关于c# - MongoDB 中的运算符使用官方 .NET 驱动程序执行多过滤器查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50350574/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com