繁体   English   中英

查询mongodb数据库以查找特定字段的所有值C#

[英]Query mongodb database to find all value for a specific field c#

我想查询mongodb数据库以使用c#在两个日期之间的特定字段下查找所有值。 您可以帮助查询集合中的特定字段吗?


这是我的收藏“ Devise”,我尝试查询“ high”的所有值

 public class Devise
{   
    public string parité { get; set; }
    public float low { get; set; }
    public float high { get; set; }
    public DateTime  date_observation { get; set; }

}

这是我的查询代码

public class Devisedata
{
    private IMongoDatabase _database;

    public async System.Threading.Tasks.Task<List<Devise>> GetDataDevise(DateTime inputDate1, DateTime inputDate2)
    {

        var collection = _database.GetCollection<Devise>("datafinance");
        var builder = Builders<Devise>.Filter;
        var filter = builder.Gte("date_observation", inputDate1) &
                     builder.Lt("date_observation", inputDate2.AddDays(1));


        var list = await collection.Find(filter).ToListAsync();
        return list;
    }
}

我假设通过“查找所有值”来表示字段high所有不同值。 如果是这样,您可以按照以下示例进行操作:

var builder = Builders<Devise>.Filter;
var filter = builder.Gte("date_observation", inputDate1) &
                 builder.Lt("date_observation", inputDate2.AddDays(1));

var cursor = await collection.DistinctAsync<double>("high", match);
await cursor.ForEachAsync(doc => Console.WriteLine(doc));

有关更多信息,请参见MongoCollection.Distinctdb.collection.distinct()

上面的代码段已在C#驱动程序 v2.2.3和MongoDB v3.2中进行了测试

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM