Ich habe Probleme herauszufinden, Syntax für das, was ich erreichen möchte. Wie gesagt, verwende ich den C# -Treiber für MongoDB.Multi-Feld-Abfragen mit C# -Treiber für MongoDB
Ich habe einen Benutzer Einheit definiert als
[BsonIgnoreExtraElements]
public class User : MongoEntity
{
[BsonElement]
public string Username { get; set; }
[BsonElement]
public string Password { get; set; }
[BsonElement]
public string Email { get; set; }
}
Ich habe auch eine Userservice-Klasse, die Aktionen gegen die User-Sammlung in meiner Mongo Datenbank durchführt. Unten ist ein Beispiel, wie ich ein wirklich einfaches Login-Beispiel erstelle.
public UserPresentation Login(string username, string password)
{
var entityQuery = Query<User>.EQ(e => e.Username, username.ToUpper());
var entity = this.MongoConnectionHandler.MongoCollection.FindOne(entityQuery);
return (entity != null && entity.Id.ToString().Length > 0 && entity.Password == password) ? new UserPresentation(entity) : null;
}
Dies funktioniert, aber meine Frage ist ... stattdessen eine Abfrage zu erstellen, die nur für Benutzername aussieht == Benutzername, das Element zurückkehrt und dann das Kennwort in einer if-Anweisung zu vergleichen, kann ich irgendwie mehr Felder anhängen zum Anfang entityQuery
Objekt.
'Query.And'? Ist das wonach Sie suchen? – WiredPrairie