2016-03-31 6 views
0

Ich möchte mongodb Datenbank abzufragen, um alle Wert unter einem bestimmten Feld zwischen zwei Daten mit C# zu finden. Können Sie helfen, ein bestimmtes Feld in einer Sammlung abzufragen?Abfrage mongodb Datenbank, um alle Wert für ein bestimmtes Feld zu finden C#


das ist meine Sammlung "devise" und ich versuche, alle den Wert von "high" Code

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

} 

diese meine Abfrage abzufragen

ist
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; 
    } 
} 

Antwort

0

ich angenommen dass mit "find all value" meinst du alle distinct Werte aus dem Feld high. Wenn ja, könnten Sie unten dies als Beispiel tun:

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)); 

Siehe MongoCollection.Distinct und db.collection.distinct() für weitere Informationen.

Die obige Snippet

mit MongoDB v3.2 in C# Driver v2.2.3 getestet
Verwandte Themen